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

posted @ 2019-05-25 21:05  BackingStar  阅读(18117)  评论(1编辑  收藏  举报