xlsxwriter 여러 형식으로 형식 메서드 추가
Dec 01 2020
다음 코드를 시도하고 있으며 잘 작동합니다. 그러나 xlsxwriter 패키지에있는 형식 추가 기능을 처리하는 짧은 접근 방식이 있는지 궁금합니다. 더 명확히하기위한 코드는 다음과 같습니다.
import pandas as pd
import xlsxwriter
writer = pd.ExcelWriter('pandas_excel.xlsx', engine='xlsxwriter')
new_df.to_excel(writer, sheet_name='Sheet1')
workbook = writer.book
format_right_to_left = workbook.add_format()
format_right_to_left.set_reading_order(2)
myformat = workbook.add_format()
myformat.set_reading_order(2)
myformat.set_align('center')
myformat.set_align('vcenter')
worksheet = writer.sheets['Sheet1']
worksheet.right_to_left()
worksheet.set_column('B:G', 12, myformat)
worksheet.set_column('A:A', 16, myformat)
writer.save()
writer.close()
코드에는 형식을 추가하는 줄이 있습니다.
myformat = workbook.add_format()
myformat.set_reading_order(2)
myformat.set_align('center')
myformat.set_align('vcenter')
더 유연하고 더 많은 형식을 쉽게 추가 할 수 있도록 이러한 줄을 줄이는 방법에 대한 질문입니다.
답변
2 buran Dec 01 2020 at 09:22
속성을 dict로 전달할 수 있습니다 add_format()
.
my_format = workbook.add_format({'reading_order':2, 'align':'center', 'valign':'vcenter'})
여기에서 더 많은 것을 읽을 수 있습니다
편집 : 전체 작업 예제, 테두리 포함
import pandas as pd
import xlsxwriter
data = {'col1': [1, 2], 'col2': [3, 4]}
df = pd.DataFrame(data=data)
with pd.ExcelWriter('pandas_excel.xlsx', engine='xlsxwriter') as writer:
df.to_excel(writer, sheet_name='Sheet1')
workbook = writer.book
my_format = workbook.add_format({'reading_order':2, 'align':'center', 'valign':'vcenter', 'border':1})
worksheet = writer.sheets['Sheet1']
worksheet.set_column('B:G', 12, my_format)
worksheet.set_column('A:A', 16, my_format)