自动调整列宽以适应 panda 生成的 Excel 文件中的内容

Auto-adjust column width to fit the content in panda generated Excel files

我正在使用 pandas.to_excel() 生成 xlsx 个文件。

在我的Win10上默认使用openpyxl因为没有安装xlsxwriter。我的问题涉及两个选项。

生成的 xlsx 文件的列对于内容来说太小了。我必须通过 Excel.

来调整它们

这是生成的 sheet 的样子

这是 Excel 本身自动调整宽度后的样子。

我希望 pandas/openpyxl/xlsxwriter 自己进行自动调整。对此有选择或方法吗?

我知道唯一可靠的方法是在 xlwings 中使用 .autofit():

import pandas as pd
import xlwings as xw

filename = r"test.xlsx"
df = pd._testing.makeDataFrame()
df.to_excel(filename)

with xw.App(visible=False) as app:
    wb = xw.Book(filename)
    for ws in wb.sheets:
        ws.autofit(axis="columns")
    wb.save(filename)
    wb.close()