【问题标题】:Export To excel from 2 dataframes从 2 个数据框导出到 excel
【发布时间】:2021-11-26 19:47:22
【问题描述】:

我有两个数据框 两者都有月份列
我想在 df1 个月前导出到 excel(创建 excel 文件)

dint_month = df1['month'].unique()
outputfile = pd.ExcelWriter(str(value)+'.xlsx', engine='xlsxwriter')
    for value in dint_month:
        month1 = df1[df1['month']== value]
        month1.to_excel(outputfile, sheet_name='Course', index=False)
        outputfile.save()

这将创建文件并将数据导出到我想要的文件中 现在我有一个 DF2,我有月份列和每周更新 所以我想在我从 DF1 导出的同一个月的 Excel 文件中的单独工作表中添加每周信息

我又尝试了一个 for 循环,但它会将所有星期都导出到所有文件。如果您可以建议,请告诉我如何实现这一目标。

【问题讨论】:

  • 您是否尝试过更改其他数据框的sheet_name
  • 我做了,它导出了所有文件中的所有星期。

标签: python pandas export-to-excel data-export


【解决方案1】:

给定一个数据框df2,它既可以引用您的月度数据,也可以引用您的每周数据。一种选择是按如下方式进行:

dint_month = df1['month'].unique()
for value in dint_month:
    outputfile = pd.ExcelWriter(str(value) + '.xlsx', engine='xlsxwriter')
    month = df1[df1['month'] == value]
    week_data = df2[df2['month'] == value]
    month.to_excel(outputfile, sheet_name='course', index=False)
    week_data.to_excel(outputfile, sheet_name='course_weeks', index=False)
    outputfile.save()

请注意,有几件事正在发生:

首先,输出文件创建行在循环内移动,因为它取决于您的 value 变量。

outputfile = pd.ExcelWriter(str(value) + '.xlsx', engine='xlsxwriter')

然后,我们在与您的第一个数据框相同的 month 列上过滤周数据。 (鉴于它在那里)。

week_data = df2[df2['month'] == value]

最后,我们通过更改同一输出文件上的工作表名称将该数据输出到另一个工作表。

week_data.to_excel(outputfile, sheet_name='course_weeks', index=False)

此设置适用于DF2 也有月份列的情况。如果不是这种情况,您还必须在第二个数据框中添加一个月列,或者将 df2[df2['month'] == value] 中的 month 重命名为您的实际列名。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-04-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多