xlsxwriter / 第一列未左对齐
xlsxwriter / First column not aligning to the left
将第一列左对齐时出现问题。不知道这里出了什么问题。格式似乎适用于第一行。
我只想让第一列的文本左对齐。
def export_to_xlsx(date):
global df
## CREATE PD DATAFRAME
all_mp_dict = scraper(date)
df = pd.DataFrame(all_mp_dict)
## WORKSHEET FORMATTING (TOP ROW - YELLOW BG COLOR)
workbook_loc = './mp_excel/mp_data_'+date+'.xlsx'
writer = pd.ExcelWriter(workbook_loc, engine='xlsxwriter')
df.to_excel(writer, sheet_name=date+'_raw')
workbook = writer.book
worksheet = writer.sheets[date+'_raw']
header_format = workbook.add_format({
'bold': True,
'text_wrap': True,
'valign': 'top',
'fg_color': '#FFFF00',
'border': 1})
for col_num, value in enumerate(df.columns.values):
worksheet.write(0, col_num+1, value, header_format)
## WORKSHEET FORMATTING (FIRST COLUMN - ALIGN LEFT)
a_format = workbook.add_format()
a_format.set_align('left')
worksheet.set_column('A:A', 100, a_format)
## TO_EXCEL
writer.close()
Excel 列格式未应用于数据框的第一列的原因是 Pandas 已将 bold/centered 格式应用于单元格以突出显示指数值。在 Excel 和 XlsxWriter 中,单元格格式会覆盖列格式。
所以您可以选择删除索引并添加您自己的索引,使用它自己的格式,就像您覆盖列 headers.
将第一列左对齐时出现问题。不知道这里出了什么问题。格式似乎适用于第一行。
我只想让第一列的文本左对齐。
def export_to_xlsx(date):
global df
## CREATE PD DATAFRAME
all_mp_dict = scraper(date)
df = pd.DataFrame(all_mp_dict)
## WORKSHEET FORMATTING (TOP ROW - YELLOW BG COLOR)
workbook_loc = './mp_excel/mp_data_'+date+'.xlsx'
writer = pd.ExcelWriter(workbook_loc, engine='xlsxwriter')
df.to_excel(writer, sheet_name=date+'_raw')
workbook = writer.book
worksheet = writer.sheets[date+'_raw']
header_format = workbook.add_format({
'bold': True,
'text_wrap': True,
'valign': 'top',
'fg_color': '#FFFF00',
'border': 1})
for col_num, value in enumerate(df.columns.values):
worksheet.write(0, col_num+1, value, header_format)
## WORKSHEET FORMATTING (FIRST COLUMN - ALIGN LEFT)
a_format = workbook.add_format()
a_format.set_align('left')
worksheet.set_column('A:A', 100, a_format)
## TO_EXCEL
writer.close()
Excel 列格式未应用于数据框的第一列的原因是 Pandas 已将 bold/centered 格式应用于单元格以突出显示指数值。在 Excel 和 XlsxWriter 中,单元格格式会覆盖列格式。
所以您可以选择删除索引并添加您自己的索引,使用它自己的格式,就像您覆盖列 headers.