熊猫读取 excel 导致“不是 zip 文件”
Posted
技术标签:
【中文标题】熊猫读取 excel 导致“不是 zip 文件”【英文标题】:pandas reading excel results in "not a zip file" 【发布时间】:2020-12-15 04:57:36 【问题描述】:我尝试将 xlsx 读入数据框:
itut_ir = pd.read_excel('C:\\Users\\Administrator\\Downloads\\reportdata.xlsx')
print(itut_ir.to_string())
我收到这个:
Traceback(最近一次调用最后一次): 文件 "C:\Users\Administrator\eclipse-workspace\Reports\GOW\Report.py", 第 44 行,在 df = pd.read_excel('C:\Users\Administrator\Downloads\reportdata.xlsx') 文件 "C:\Users\Administrator\AppData\Local\Programs\Python\Python37\lib\site-packages\pandas\io\excel_base.py", 第 304 行,在 read_excel 中 io = ExcelFile(io, engine=engine) 文件 "C:\Users\Administrator\AppData\Local\Programs\Python\Python37\lib\site-packages\pandas\io\excel_base.py", 第 824 行,在 init 中 self._reader = self.enginesengine 文件“C:\Users\Administrator\AppData\Local\Programs\Python\Python37\lib\site-packages\pandas\io\excel_xlrd.py”, 第 21 行,在 init 中 super().init(filepath_or_buffer) 文件 "C:\Users\Administrator\AppData\Local\Programs\Python\Python37\lib\site-packages\pandas\io\excel_base.py", 第 353 行,在 init 中 self.book = self.load_workbook(filepath_or_buffer) 文件 "C:\Users\Administrator\AppData\Local\Programs\Python\Python37\lib\site-packages\pandas\io\excel_xlrd.py", 第 36 行,在 load_workbook 中 返回 open_workbook(filepath_or_buffer) 文件 "C:\Users\Administrator\AppData\Local\Programs\Python\Python37\lib\site-packages\xlrd_init.py", 第 117 行,在 open_workbook 中 zf = zipfile.ZipFile(filename) 文件 "C:\Users\Administrator\AppData\Local\Programs\Python\Python37\lib\zipfile.py", 第 1222 行,在 init 中 self._RealGetContents() 文件 "C:\Users\Administrator\AppData\Local\Programs\Python\Python37\lib\zipfile.py", 第 1289 行,在 _RealGetContents raise BadZipFile("File is not a zip file") zipfile.BadZipFile: File is not a zip file
有人有想法吗?文件似乎没有损坏,我可以用 Excel 打开它。
谢谢!
*** 更新 *** 正在从 FTP 下载产生错误的文件。打开原始文件有效......如果这给你一个提示:)谢谢
【问题讨论】:
不需要使用open
,只需要文件的路径即可。试试看:pd.read_excel('C:\\Users\\Administrator\\Downloads\\reportdata.xlsx', sheet_name='Details', skiprows=4)
抱歉,我被另一个错误误导了。分解导入我仍然得到 zip 错误: itut_ir = pd.read_excel('C:\\Users\\Administrator\\Downloads\\reportdata.xlsx')
reportdata.xlsx 是原始文件吗?关于this question 打开和保存文件可能会有所帮助。
您好,正在从 FTP 服务器下载文件。我可以通过excel打开它。不知道你的意思是打开和保存谢谢
xlsx
基本上是一个zip文件,所以下载的时候很有可能是文件坏了。
【参考方案1】:
不久前,我在 LibreOffice 中创建的 XLSX 也遇到了同样的问题。
解决方案是检查 XLSX 以确保它没有损坏。就我而言,加载以前版本的 XLSX 文件可以解决问题。
【讨论】:
以上是关于熊猫读取 excel 导致“不是 zip 文件”的主要内容,如果未能解决你的问题,请参考以下文章