Fügen Sie die Formatmethode in mehreren xlsxwriter-Formaten hinzu
Dec 01 2020
Ich versuche den folgenden Code und es funktioniert gut. Aber ich frage mich, ob es einen kurzen Ansatz gibt, um mit der Funktion zum Hinzufügen von Formaten umzugehen, die im Paket von xlsxwriter enthalten ist. Hier ist der Code zur weiteren Verdeutlichung
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()
Im Code habe ich diese Zeilen zum Hinzufügen von Format
myformat = workbook.add_format()
myformat.set_reading_order(2)
myformat.set_align('center')
myformat.set_align('vcenter')
Meine Frage, wie man solche Zeilen verkürzt, um flexibler zu sein und auf einfache Weise immer mehr Formate hinzufügen zu können?
Antworten
2 buran Dec 01 2020 at 09:22
Sie können Eigenschaften als Diktat übergeben add_format()
.
my_format = workbook.add_format({'reading_order':2, 'align':'center', 'valign':'vcenter'})
Hier können Sie mehr lesen
EDIT: voll funktionsfähiges Beispiel mit Rand
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)