我无法使用xlsxWriter对齐Excel工作表的列。为了进一步说明,这里是数据框
Name Employee ID Year
John Miller 2014108 2014
Sarah Jones 2011548 2011
Jake Kenedy 2010546 2010
我正在尝试对齐“名称”列,以使值位于左侧而不是居中
我试过这个
workbook = writer.book
cell_format = workbook.add_format()
cell_format.set_align('left')
然而,什么也没发生。 任何建议都将不胜感激。
答案 0 :(得分:2)
我遇到了与索引相关的相同问题。我的数据框将字符串类型的第一列作为索引。似乎无法使用 xlsxwriter
重新格式化索引。
为了解决这个问题,我按以下顺序尝试了以下操作:
df.reset_index(inplace=True)
df.to_excel(writer, sheet_name='Sheet1',index=False)
然后格式化功能起作用了。
答案 1 :(得分:1)
您需要实际应用格式名称列。
df = pd.DataFrame ({'Name': ['J Miller', 'S Jones', 'J Kenedy'],
'Employee ID': [1,2,3],
'Year': [2014, 2011, 2010]})
writer = pd.ExcelWriter('left_aligned_file.xlsx', engine='xlsxwriter')
# Add your dataframe to the writer
df.to_excel(writer, sheet_name='Sheet1')
workbook = writer.book
worksheet = writer.sheets['Sheet1']
new_format = workbook.add_format()
new_format.set_align('left')
# Apply new format to name column, which will be column C.
worksheet.set_column('C:C', 10, new_format)
writer.save()
值得一看:http://xlsxwriter.readthedocs.io/example_pandas_column_formats.html