Как изменить формат вывода данных из фрейма при использовании панд to_excel с ExcelWriter и xlsxwriter
Я использую Python 3.4 на Windows. Функционально у меня нет проблем с использованием 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.
Однако форматирование по умолчанию мне не нравится. Например, я хотел бы видеть размер шрифта 8, возможно, отрегулировать шрифт и удалить жирный шрифт (?) И границы.
Или, может быть, даже лучше, может быть, есть способ использовать форматирование листа Excel по умолчанию (которое может быть установлено пользователем в Excel)?
Я пытался найти документацию по ExcelWriter() для панд, но почему-то я ничего не нашел. Я немного исследовал документацию по xlsxwriter, но ничто не помогло отрегулировать форматирование листа после написания кадра данных. Возможно, есть способ выбрать этот формат в качестве аргумента на шаге ExcelWriter()?
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)