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

问题描述 投票:0回答:1

我正在使用

pandas.to_excel()
生成
xlsx
文件。

在我的Win10上,默认使用

openpyxl
,因为未安装
xlsxwriter
。我的问题涉及这两个选项。

生成的

xlsx
文件的列对于内容来说太小了。我必须通过 Excel 调整它们。

这就是生成的工作表的样子

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

我希望 pandas/openpyxl/xlsxwriter 能够自行进行自动调整。有没有选择或方法?

python pandas openpyxl xlsxwriter
1个回答
2
投票

我知道执行此操作的唯一可靠方法是在 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):
    wb = xw.Book(filename)
    for ws in wb.sheets:
        ws.autofit(axis="columns")
    wb.save(filename)
    wb.close()

请注意,使用 xlwings 需要安装 Microsoft Excel。

© www.soinside.com 2019 - 2024. All rights reserved.