Tôi đang lưu gấu trúc DataFrame to_excel bằng xlsxwriter. Tôi đã quản lý để định dạng tất cả các dữ liệu của tôi (thiết lập chiều rộng cột, kích thước phông chữ vv) ngoại trừ thay đổi phông chữ của tiêu đề và tôi không thể tìm thấy cách để làm điều đó. Dưới đây là ví dụ của tôi:pandas xlsxwriter, tiêu đề định dạng
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()
Dòng áp chót cố gắng đặt định dạng cho tiêu đề không có gì.
Giải pháp thay thế tốt. Chỉ cần một số nền tảng để giải thích lý do tại sao điều này hoạt động. Trong Excel, định dạng ô ghi đè định dạng hàng sẽ ghi đè định dạng cột. 'Pd.core.format.header_style' được chuyển thành định dạng và được áp dụng cho từng ô trong tiêu đề. Như vậy, mặc định không thể bị ghi đè bởi 'set_row()'. Đặt 'pd.core.format.header_style' thành' None' có nghĩa là ô tiêu đề không có định dạng do người dùng xác định và do đó định dạng có thể bị ghi đè. – jmcnamara
Dường như trong gấu trúc 0,18,1, chúng di chuyển 'pd. core.format' vào mô-đun 'pd.formats', vì vậy bây giờ người ta nên viết 'pd.formats.format.header_style = None'. – krvkir
@krvkir - Cảm ơn bạn, tôi thêm bình luận của bạn để trả lời. – jezrael