【问题标题】:Changing column width from excel files从 excel 文件更改列宽
【发布时间】:2017-03-02 21:45:08
【问题描述】:

我有一个类似的文件,我正在从 excel 中读取:

Year  Month  Day
1     2      1
2     1      2

我想指定excel能识别的列宽。我想在熊猫中做,但我没有看到一个选项。我已经尝试使用模块 StyleFrame 来做到这一点。

这是我的代码:

from StyleFrame import StyleFrame
import pandas as pd

df=pd.read_excel(r'P:\File.xlsx')
excel_writer = StyleFrame.ExcelWriter(r'P:\File.xlsx')
sf=StyleFrame(df)
sf=sf.set_column_width(columns=['Year', 'Month'], width=4.0)
sf=sf.set_column_width(columns=['Day'], width=6.00)
sf=sf.to_excel(excel_writer=excel_writer)
excel_writer.save()

但是当我打开新文件时格式没有保存。

有没有办法在熊猫中做到这一点?我什至会为此采用纯 python 解决方案,几乎任何可行的方法。

【问题讨论】:

  • 这对我来说没问题。您使用的是什么版本的 StyleFrame? import StyleFrame ; print(StyleFrame._version_)
  • 我使用的是 0.1.5 版
  • 我想当我打开 excel 文件时,列宽在视觉上发生了变化。但是当我右键单击该列并选择 column width 我的规范不是它所说的
  • 是的,Excel 中的实际宽度值似乎始终比期望值小 0.62。您可以尝试夸大并设置一个非常大的宽度,以验证您的更改是否实际保存到文件中。我会研究它并为下一个版本修复它:)
  • 是的,对我来说它比预期的少 0.76,但仍然一致。

标签: python-2.7 pandas styleframe


【解决方案1】:

关于如何删除标题的问题,您可以简单地将header=False 传递给to_excel:

sf.to_excel(excel_writer=excel_writer, header=False).

请注意,这仍然会导致表格的第一行为粗体。 如果您不想要这种行为,您可以更新到我刚刚发布的 0.1.6。

【讨论】:

    猜你喜欢
    • 2014-06-01
    • 2013-05-10
    • 1970-01-01
    • 2021-05-03
    • 2023-03-12
    • 1970-01-01
    • 1970-01-01
    • 2020-06-15
    • 1970-01-01
    相关资源
    最近更新 更多