Excel文件在重新保存后仅在Python中打开

2024-05-16 06:35:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一些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,它将运行


Tags: 文件import编辑reados错误手动filename
1条回答
网友
1楼 · 发布于 2024-05-16 06:35:03

源文件似乎已损坏,无法使用标准方法打开该文件(例如pd.read_excel()pd.ExcelFile())。如果手动打开和保存的文件太多,请尝试使用非标准方法打开该文件

一个想法是使用以下代码:https://blog.adimian.com/2018/09/04/fast-xlsx-parsing-with-python/(可能有更好的方法)

我使用blog.adimian.com中的代码测试了示例文件(请参阅页面底部的完整代码部分),它似乎正常工作。但是,缺少列名,需要手动设置。如果列名都相同,则可以对所有文件循环此操作

示例输出:

enter image description here

相关问题 更多 >