【问题标题】:Auto-adjust column width to fit the content in panda generated Excel files自动调整列宽以适应熊猫生成的 Excel 文件中的内容
【发布时间】:2021-11-05 08:50:28
【问题描述】:
我正在使用pandas.to_excel() 生成xlsx 文件。
在我的 Win10 上,默认使用 openpyxl,因为未安装 xlsxwriter。我的问题涉及两个选项。
生成的xlsx 文件的列对于内容来说太小了。我必须通过 Excel 调整它们。
这是生成的工作表的样子
这就是在 Excel 中自动调整宽度后的样子。
我希望 pandas/openpyxl/xlsxwriter 自行进行自动调整。有什么选择或方法吗?
【问题讨论】:
标签:
python
pandas
openpyxl
xlsxwriter
【解决方案1】:
我知道的唯一可靠的方法是在 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()