从2个数据帧导出到excel



我有两个数据帧两者都有Months列
我想通过df1 Months 导出到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循环,但它将所有周导出到所有文件。请你提出建议,我该如何做到这一点。

给定一个数据帧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重命名为实际的列名。

相关内容

  • 没有找到相关文章

最新更新