2016-10-20 75 views
1

我喜欢这样,我就从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解决方案,几乎所有的工作。

+1

这对我很好。你使用的是什么版本的StyleFrame? 'import StyleFrame;打印(StyleFrame._version_)' – DeepSpace

+0

版本0.1.5是我使用的 –

+0

我想它看起来像当我打开Excel文件时,列宽在视觉上发生了变化。但是,当我右键单击列并选择'列宽'我的规格是不是它说 –

回答

3

至于如何删除标题你的问题,你可以简单地传递到header=Falseto_excel

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

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