这可能很傻但我需要从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或字典格式存储数据,因此我可以在代码中使用索引和列信息。
答案 0 :(得分:1)
在这两种情况下,我最终得到许多具有NaN值的空白行。我猜 一个简单的解决方案是遍历文件并找到Timestamp 元素并从该位置打印到我的文件中。但我很想知道 如果有任何其他解决方案,自动识别在哪里 数据打印在Excel表格中。
**一个简单的解决方案是在文件上运行并找到Timestamp **
没有其他出路。如果您没有元素时间戳开始位置的固定位置,您需要遍历整个文件并找到该元素,即使您有一个解决方案 - 从我的xls中删除所有NaN数据 - 在幕后,这将遍布整个文件。