从excel读取数据并忽略python

时间:2016-01-22 17:31:20

标签: python excel pandas

这可能很傻但我需要从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

并使用Pandas

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

在这两种情况下,我最终得到许多带有NaN值的空白行。 我想一个简单的解决方案是遍历文件并找到Timestamp元素并从该位置打印到我的文件中。但我想知道是否有任何其他解决方案可以自动识别数据在Excel工作表中的打印位置。

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

1 个答案:

答案 0 :(得分:1)

  

在这两种情况下,我最终得到许多具有NaN值的空白行。我猜   一个简单的解决方案是遍历文件并找到Timestamp   元素并从该位置打印到我的文件中。但我很想知道   如果有任何其他解决方案,自动识别在哪里   数据打印在Excel表格中。

**一个简单的解决方案是在文件上运行并找到Timestamp **

没有其他出路。如果您没有元素时间戳开始位置的固定位置,您需要遍历整个文件并找到该元素,即使您有一个解决方案 - 从我的xls中删除所有NaN数据 - 在幕后,这将遍布整个文件。