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

आप एक तानाशाह के रूप में संपत्तियों को पारित कर सकते हैं add_format()

my_format = workbook.add_format({'reading_order':2, 'align':'center', 'valign':'vcenter'})

आप यहां और पढ़ सकते हैं

EDIT: सीमा के साथ पूर्ण कार्य उदाहरण

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)