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