与ExcelWriter和xlsxwriter一起使用pandas to_excel时,如何更改数据框输出的格式

时间:2015-01-24 20:43:33

标签: python-3.x format xlsxwriter spreadsheet-excel-writer

我在Windows上使用Python 3.4。从功能上讲,使用pandas写一个名为" df"的数据帧是没有问题的。以这种方式到Excel xlsx文件:

import pandas as pd
import xlsxwriter

writer = pd.ExcelWriter('Test Data\simple.xlsx', engine='xlsxwriter')
df.to_excel(writer, sheet_name='TAV',index=False)

我确实看到了数据框" df"很好地写在正确的工作表中的xlsx工作簿。这非常有用,因为它允许为Python逻辑和计算提供单独的QA路径。

但是,默认格式不符合我的喜好。例如,我希望看到字体大小为8,可能会调整字体,并删除粗体(?)和边框。

或者甚至更好,也许有一种方法可以使用默认的Excel工作表格式(可以由用户在Excel中设置)?

我试图在大熊猫的ExcelWriter()上找到文档,但不知怎的,我还没找到任何东西。我已经对xlsxwriter文档进行了相当多的研究,但在编写数据帧之后没有任何帮助调整工作表的格式。也许有一种方法可以在ExcelWriter()步骤中选择这种格式作为参数吗?

1 个答案:

答案 0 :(得分:1)

#This link can be helpful: http://xlsxwriter.readthedocs.org/working_with_pandas.html
#you need to get the workbook and worksheet objects after writing the dataframe:
#Create a writer object
    writer = pd.ExcelWriter('pandas_simple.xlsx', engine='xlsxwriter')
#Write the dataframe's data in the sheet
    df.to_excel(writer, sheet_name = 'Sheet1') 
#Get the workbook and worksheet objects
    workbook  = writer.book
    worksheet = writer.sheets['Sheet1']

#after you have workbook and worksheet, follow xlsxwriter formatting method:
    worksheet.merge_range('A1:A2', 'My title', format_my_title)