我正在 Pandas 中工作,我想对数据库中的表列表运行一个查询循环,并将每个循环的结果写入 Excel 中的单独工作表中,但出现错误“文件不是 zip 文件”您能帮助解决这个问题并帮助我使我的代码正常工作吗?也许您有另一种不使用 openpyxl 的解决方法?
我当前的代码:
def create_workbook(path):
workbook = Workbook()
workbook.save(path)
create_workbook('result.xlsx')
def function_1(table, file):
book = load_workbook(file)
writer = pd.ExcelWriter(file, engine = 'openpyxl')
writer.book = book
query = f"select * from {table}"
df = pd.read_sql_query(query , engine)
df.to_excel(writer, sheet_name = table)
writer.close()
for table in tables_list:
function_1(table, 'result.xlsx')
尝试更改这些行:
writer = pd.ExcelWriter(file)
df.to_excel(
excel_writer=writer,
sheet_name=table,
engine="openpyxl"
)