在使用pandas的to_excel()方法输出多个数据框到Excel时,可以使用ExcelWriter对象来控制标题格式化。下面是一个示例代码:
import pandas as pd
# 创建两个数据框
df1 = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]})
df2 = pd.DataFrame({'C': [7, 8, 9], 'D': [10, 11, 12]})
# 创建ExcelWriter对象
writer = pd.ExcelWriter('output.xlsx', engine='xlsxwriter')
# 将数据框写入不同的工作表
df1.to_excel(writer, sheet_name='Sheet1', startrow=1, header=False, index=False)
df2.to_excel(writer, sheet_name='Sheet2', startrow=1, header=False, index=False)
# 获取工作簿和工作表对象
workbook = writer.book
worksheet1 = writer.sheets['Sheet1']
worksheet2 = writer.sheets['Sheet2']
# 设置标题格式化
header_format = workbook.add_format({'bold': True, 'font_color': 'red'})
worksheet1.write('A1', 'Header 1', header_format)
worksheet2.write('C1', 'Header 2', header_format)
# 保存Excel文件
writer.save()
在上面的示例中,我们首先创建了两个数据框df1和df2。然后使用ExcelWriter对象创建一个名为output.xlsx的Excel文件。接下来,我们使用to_excel()方法将df1和df2写入两个不同的工作表中。然后,我们使用writer.book和writer.sheets获取工作簿和工作表对象。最后,我们使用workbook.add_format()方法创建一个标题格式化对象,并将标题写入相应的单元格中。
运行上述代码后,将生成一个名为output.xlsx的Excel文件,其中包含两个工作表Sheet1和Sheet2,每个工作表的第一行为格式化后的标题。