【问题标题】:Write multiple files to excel using pandas &excelwriter使用 pandas &excelwriter 将多个文件写入 excel
【发布时间】:2021-06-06 10:48:57
【问题描述】:

数据框列表

df_list = [摘要,df3,df4,df5,df6]

需要写入输出的 Excel 工作表名称

姓名 = ['负债','费用','收入','资产']

writer = pd.ExcelWriter(r"E:\GL\2040001.xlsx", engine='xlsxwriter')

如果数据框有输出,则必须将文件写入 excel

对于 df_list 中的 i: 如果 i.empty 为 False: 对于名称中的 j: i.to_excel(writer, sheet_name = j)

我希望不为空的文件用其对应的数据框写入

【问题讨论】:

    标签: pandas loops for-loop export-to-excel


    【解决方案1】:

    您只需要检查数据框是否为空。如果是,你什么也不做。如果不是,则写入 Excel:

    df_list = [summary, df3, df4, df5, df6]
    names = ['Liability','Expenses','Income','Asset']
    writer = pd.ExcelWriter(r"E:\GL\2040001.xlsx", engine='xlsxwriter')
    for df, name in zip(df_list, names):
        if not df.is_empty:
            df.to_excel(writer, sheet_name = name)
    

    请注意,Python 中的变量名首选小写。另外,尽量不要使用绝对路径,而是使用相对路径。

    【讨论】:

    • 你能解释一下我的代码有什么问题吗:df_list = [summary, df3, df4, df5, df6] Names = ['Liability','Expenses','Income','Asset' ] for i in df_list: if i.empty is False: for j in Names: i.to_excel(writer, sheet_name = j)
    • 这很难说,因为您的代码格式不正确,但似乎内部循环是错误的:据我所知,您不想将每个数据帧写入您的所有工作表有。
    猜你喜欢
    • 2021-07-26
    • 1970-01-01
    • 2015-03-19
    • 2021-09-06
    • 2017-03-30
    • 2018-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多