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")