这可能很愚蠢,但是我需要从python中的excel中导入一些数据,其中数据打印在工作表中的某个位置(而不是从A1位置开始)。

... ... ... ... ... ... ... ... ... ... ... ...
... ... ... ... ... ... ... ... ... ... ...
... ... ... ... ... Timestamp  a   b   c   d
... ... ... ... ... 20/01/2016 4.3 3.2 0.3 1.3
... ... ... ... ... 19/01/2016 2.2 3.4 5.5 7.2
... ... ... ... ... 18/01/2016 4.4 2.3 3.4 5.01


我仅有的信息是数据从Timestamp所在的位置开始(可以在excel工作表中的任何位置)。它以我在这里介绍的格式出现。
我使用了两种不同的方法。从xlrd我实现了以下代码

 items = []
 for row in range(d_sheet.nrows):
     for col in range(d_sheet.nrows):
         items.append(d_sheet.cell(row,col))
 return items


并使用熊猫

 data = pd.read_excel('file.xlsx')
 data.as_matrix()


在这两种情况下,我最终都会得到许多带有NaN值的空行。
我猜一个简单的解决方案是在文件上运行并找到Timestamp元素,然后从该位置打印到我的文件中。但是我想知道是否还有其他解决方案可以自动识别Excel表格中数据的打印位置。

ps。理想情况下,我想以DataFrame或字典格式存储数据,以便可以在代码中使用索引和列信息。

最佳答案

在这两种情况下,我最终都会得到许多带有NaN值的空行。我猜
  一个简单的解决方案是遍历文件并找到时间戳记
  元素,然后从该位置打印到我的文件中。但我想知道
  如果还有其他解决方案可以自动识别
  数据打印在Excel工作表中。


**一个简单的解决方案是遍历文件并找到时间戳**

没有其他出路。如果您没有元素时间戳记开始的固定位置,则即使您有以下解决方案(从我的xls中删除所有NaN数据)-在法院后面,也需要遍历文件并查找元素也运行整个文件。

关于python - 从excel读取数据并忽略python中的空行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34952698/

10-12 18:45
查看更多