python中使用openpyxl模块时报错: File is not a zip file

python中使用openpyxl模块时报错: File is not a zip file。

最大的原因就是不是真正的 xlsx文件, 如果是通过 库xlwt  新建的文件,或者是通过自己修改后缀名得到的 xlsx文件,都会报错,我遇到的解决办法基本都是自己使用 office 新建一个xlsx文件,网上说的是由于新版 office 加密的原因,只能通过 office 的软件才能建立真正的xlsx文件。

同时来自网友的经验:
#Python大坑:openpyxl和(xlrd,xlwt)不可混用!
#工程名、包名、文件名、模块名绝对不可重复!
#(xlrd、xlwt)读写过的文件千万不可让openpyxl读写

 

openpyxl 这是一个第三方库,可以处理xlsx格式的Excel文件。

openpyxl 的读写excel文件:

 from openpyxl import load_workbook
 book = load_workbook(path)
writer = pd.ExcelWriter(path, engine='openpyxl')
writer.book = book
 df.to_excel(excel_writer=writer, sheet_name="sheet1")

对比 pandas 的:

writer = pd.ExcelWriter(savepath)
df.to_excel(excel_writer=writer, sheet_name="sheet1")
 

转载于:https://www.cnblogs.com/BackingStar/p/10923891.html

使用pandas模块报错"zipfile.BadZipFile: File is not a zip file"通常是因为你尝试读取一个不是zip文件的文件。这个错误可能是由以下几种情况引起的: 1. 文件路径错误:请确保你提供的文件路径是正确的,并且文件确实存在。 2. 文件格式错误:请确保你尝试读取的文件是zip文件。如果不是zip文件,pandas将无法读取它。 3. 文件损坏:如果你提供的zip文件已损坏或不完整,pandas将无法正确读取它。你可以尝试使用其他工具(如WinRAR或7-Zip)来打开zip文件,以确保文件没有损坏。 解决这个问题的方法取决于你的具体情况。如果你确定文件路径和格式都正确,但仍然遇到这个错误,你可以尝试以下方法: 1. 检查文件内容:使用其他工具(如WinRAR或7-Zip)打开zip文件,确保文件内容没有问题。 2. 使用try-except语句:在你的代码使用try-except语句来捕获这个错误,并提供一个适当的错误处理机制。例如: ```python import pandas as pd import zipfile try: # 尝试读取zip文件 with zipfile.ZipFile('your_file.zip', 'r') as zip_ref: # 进行你的操作 ... except zipfile.BadZipFile: # 处理zip文件错误 print("File is not a zip file") ``` 请注意,上述代码的'your_file.zip'应该替换为你要读取的实际文件路径。 3. 检查其他可能的错误:除了文件路径和格式错误外,还可能存在其他导致这个错误的问题。你可以检查其他代码部分,确保没有其他错误导致这个问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值