我有一些Excel文件,其中包含从国家仪器公司的LabView中获取的测量值。我试图使用Pandas来编辑数据,但是在那些excel文件上使用read_excel时,我得到了错误TypeError: expected <class 'openpyxl.styles.fills.Fill'>
奇怪的是,如果我手动打开文件并单击“保存”,而不做任何更改,read_excel会突然打开文件。不幸的是,文件的数量太多,我无法手动重新保存。有人知道如何解决这个问题吗?我找了很多这个问题,但什么也没找到。谢谢
编辑:
我使用的代码如下
import pandas as pd
import os
fname = 'C' # All the file I want to open start with C
fextension = '.xlsx'
directory = 'D:/TEST_Raw'
df_list = []
for filename in os.listdir(directory):
if fname in filename and filename.endswith(fextension):
df1 = pd.read_excel(directory + '/' + filename, header = 0, index_col = None, engine = 'openpyxl')
示例文件位于this link中。如果我使用此文件,程序将不会运行并给出错误,但如果我打开并保存Excel,它将运行
源文件似乎已损坏,无法使用标准方法打开该文件(例如
pd.read_excel()
或pd.ExcelFile()
)。如果手动打开和保存的文件太多,请尝试使用非标准方法打开该文件一个想法是使用以下代码:https://blog.adimian.com/2018/09/04/fast-xlsx-parsing-with-python/(可能有更好的方法)
我使用blog.adimian.com中的代码测试了示例文件(请参阅页面底部的完整代码部分),它似乎正常工作。但是,缺少列名,需要手动设置。如果列名都相同,则可以对所有文件循环此操作
示例输出:
相关问题 更多 >
编程相关推荐