使用 openpyxl 从 SQL 数据库在 python 中写入 excel 文件时出现“文件不是 zip 文件”错误

问题描述 投票:0回答:1

我正在 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')
python sql pandas excel openpyxl
1个回答
0
投票

尝试更改这些行:

    writer = pd.ExcelWriter(file)

    df.to_excel(
        excel_writer=writer,
        sheet_name=table,
        engine="openpyxl"
    )
© www.soinside.com 2019 - 2024. All rights reserved.