मैं xlsxwriter का उपयोग कर पांडा डेटाफ्रेम to_excel को सहेज रहा हूं। मैंने हेडर के फ़ॉन्ट को बदलने के अलावा अपने सभी डेटा (कॉलम चौड़ाई, फ़ॉन्ट आकार आदि सेट) को प्रारूपित करने में कामयाब रहा है और मुझे ऐसा करने का तरीका नहीं मिल रहा है। यहां मेरा उदाहरण दिया गया है:पांडा xlsxwriter, प्रारूप शीर्षलेख
import pandas as pd
data = pd.DataFrame({'test_data': [1,2,3,4,5]})
writer = pd.ExcelWriter('test.xlsx', engine='xlsxwriter')
data.to_excel(writer, sheet_name='test', index=False)
workbook = writer.book
worksheet = writer.sheets['test']
font_fmt = workbook.add_format({'font_name': 'Arial', 'font_size': 10})
header_fmt = workbook.add_format({'font_name': 'Arial', 'font_size': 10, 'bold': True})
worksheet.set_column('A:A', None, font_fmt)
worksheet.set_row(0, None, header_fmt)
writer.save()
शीर्ष रेखा के लिए प्रारूप सेट करने की कोशिश करने वाली अंतिम पंक्ति कुछ भी नहीं करती है। सभी एक साथ
pd.core.format.header_style = None
:
अच्छा कामकाज। यह बताने के लिए बस कुछ पृष्ठभूमि है कि यह क्यों काम करता है। एक्सेल में एक सेल प्रारूप एक पंक्ति प्रारूप को ओवरराइड करता है जो कॉलम प्रारूप को ओवरराइड करता है। 'Pd.core.format.header_style' को एक प्रारूप में परिवर्तित किया जाता है और हेडर में प्रत्येक सेल पर लागू होता है। चूंकि डिफ़ॉल्ट को 'set_row()' द्वारा ओवरराइड नहीं किया जा सकता है। 'Pd.core.format.header_style' को' none' 'पर सेट करने का अर्थ है कि हेडर कोशिकाओं में उपयोगकर्ता परिभाषित प्रारूप नहीं है और इस प्रकार प्रारूप को ओवरराइड किया जा सकता है .. – jmcnamara
ऐसा लगता है कि पांडा 0.18.1 में वे 'pd स्थानांतरित हुए। core.format' से 'pd.formats' मॉड्यूल, तो अब किसी को' pd.formats.format.header_style = none' लिखना चाहिए। – krvkir
@krvkir - धन्यवाद, मैं उत्तर में आपकी टिप्पणी जोड़ता हूं। – jezrael