如何自动调整 Pandas pd.to_excel() XLSX 列宽

如果你使用 df.to_excel() 导出 XLSX 数据,电子表格中的列宽将保持默认且不会自动调整:

example-3.py
df = pd.read_csv("https://datasets.techoverflow.net/timeseries-example.csv", parse_dates=["Timestamp"])
df.set_index("Timestamp", inplace=True)

# 将数据集导出为 XLSX
df.to_excel("example.xlsx")

解决方案

你可以使用 UliPlotauto_adjust_xlsx_column_width 自动调整列宽。

example-2.txt

然后像这样使用它来导出 XLSX:

example-1.py

# 加载示例数据集
df = pd.read_csv("https://datasets.techoverflow.net/timeseries-example.csv", parse_dates=["Timestamp"])
df.set_index("Timestamp", inplace=True)

# 将数据集导出为 XLSX
with pd.ExcelWriter("example.xlsx") as writer:
    df.to_excel(writer, sheet_name="MySheet")
    auto_adjust_xlsx_column_width(df, writer, sheet_name="MySheet", margin=0)

注意该算法目前倾向于将列稍微放大,但在大多数情况下,每种类型的列都适合。


Check out similar posts by category: Pandas, Python