0

想知道如何合并由多个熊猫数据框组成的两个 excel 文件,同时保持以下代码中添加的样式/标题格式。

添加样式/标题格式的代码(突出显示第一行):

# Path to save the first excel file
out_path1 = "C:\\Users\\JohnReese\\Desktop\\G_Trends\\Test1.xlsx"

# this concats the df's horizontally
df_merged1 = pd.concat([df1, df0, df2, df0, df3, df0, df4], axis=1)
df_merged1.reset_index(inplace=True)

# This removes the dangling last column that said "Unamed:0"
df_merged1 = df_merged1.loc[:, ~df_merged1.columns.str.contains('^Unnamed')]
# This removes the dangling index column
df_merged1 = df_merged1.loc[:, ~df_merged1.columns.str.contains('^index')]


# saving xlsx file 
writer = pd.ExcelWriter(out_path1, engine='xlsxwriter', datetime_format='YYYY-MM-DD')

df_merged1.to_excel(writer, sheet_name='Sheet1', startrow=1, header=False, index=False)

# Get the xlsxwriter workbook and worksheet objects.
workbook  = writer.book
worksheet = writer.sheets['Sheet1']


# Adding header format/style.
header_format = workbook.add_format({
    'bold': True,
    'text_wrap': True,
    'valign': 'top',
    'fg_color': '#D7E4BC',
    'border': 1})


# Write the column headers with the defined format.
for col_num, value in enumerate(df_merged1.columns.values):
    worksheet.write(0, col_num, value, header_format)


format = workbook.add_format()
format.set_align('center')
format.set_align('vcenter')
worksheet.set_column(0, 11, 30, format)
writer.save()
writer.close()
#### END of first excel file ####

第二个excel文件代码:

# Path to save excel file
out_path2 = "C:\\Users\\JohnReese\\Desktop\\G_Trends\\Test2.xlsx"

# this concats a second df horizontally
df_merged2 = pd.concat([df5, df0, df6, df0, df7, df0, df8], axis=1)
# This removes the dangling last column that said "Unamed:0"
df_merged2 = df_merged2.loc[:, ~df_merged2.columns.str.contains('^Unnamed')]


# saving xlsx file 
writer2 = pd.ExcelWriter(out_path2, engine='xlsxwriter', datetime_format='YYYY-MM-DD')

df_merged2.to_excel(writer2, sheet_name='Sheet1', startrow=0, header=False, index=False)

# Get the xlsxwriter workbook and worksheet objects.
workbook2  = writer2.book
worksheet2 = writer2.sheets['Sheet1']

# Add a header format.
header_format2 = workbook2.add_format({
    'bold': True,
    'text_wrap': True,
    'valign': 'top',
    'fg_color': '#D7E4BC',
    'border': 1})

# Write the column headers with the defined format.
for col_num, value in enumerate(df_merged2.columns.values):
    worksheet2.write(0, col_num, value, header_format2)


format = workbook2.add_format()
format.set_align('center')
format.set_align('vcenter')
worksheet2.set_column(0, 10, 30, format)
writer2.save()
writer2.close()
#### End of second excel file code ####

如何在保持添加样式/标题格式的同时合并这两个 excel 文件?

谢谢

4

0 回答 0