使用 pandas 数据框样式调整列宽

Using pandas dataframe style for adjusting column width

我有一个 dataframe df:

A                               B                  LongColName1     AnotherNa   AnotherName3
Brunner Island is not island    Baltimore is town  0.26             3.88        3.75
Brunner Island is not island    Baltimore is town  -0.59            1.47        2.01

当我将上述数据帧转储到 excel 时,它在 excel 中显示如下:

有没有办法设置数据框的样式,以便转储到 excel 如下所示:

无法自动调整列宽。但是这个 post 中提到了一些解决方法有没有办法用 pandas.ExcelWriter 自动调整 Excel 列宽?

一种方法是找到列的最大长度并在写入 excel 时显式设置该列的宽度。

考虑以下数据框:

In [527]: df                                                                                                                                                                                                
Out[527]: 
                                 A
0     Brunner Island is not island
1  Brunner Island is not an island

len_max = df.A.str.len().max()

from StyleFrame import StyleFrame

excel_writer = StyleFrame.ExcelWriter(filename)
sf = StyleFrame(df)
sf.set_column_width(columns=['A'],width=len_max)

sf.to_excel(excel_writer=excel_writer)
excel_writer.save()