Python 如何将数据框样式设置为excel文件
我正在尝试构建一个将数据写入excel文件的应用程序。因此,我尝试使用Python 如何将数据框样式设置为excel文件,python,excel,pandas,dataframe,styles,Python,Excel,Pandas,Dataframe,Styles,我正在尝试构建一个将数据写入excel文件的应用程序。因此,我尝试使用pandas库,并使用xlsxwriter引擎。我阅读了pandas库中关于Styler对象的文档,但找不到修改表标题(或列标题,即我提供给DataFrame构造函数的字典的键)样式的方法。事实上,我认为在我的例子中,set\u table\u styles方法工作得不是很好 以下是我运行的代码: 导入操作系统 进口大熊猫 writer=pandas.ExcelWriter(f“{os.getcwd()}\\Styled_ex
pandas
库,并使用xlsxwriter
引擎。我阅读了pandas库中关于Styler
对象的文档,但找不到修改表标题(或列标题,即我提供给DataFrame构造函数的字典的键)样式的方法。事实上,我认为在我的例子中,set\u table\u styles
方法工作得不是很好
以下是我运行的代码:
导入操作系统
进口大熊猫
writer=pandas.ExcelWriter(f“{os.getcwd()}\\Styled_excel.xlsx”,engine=“xlsxwriter”,mode='w')
data_frame=pandas.DataFrame({“压力”:[10,20,30,50],
“卷”:[10,8,5,2]})
styler=数据帧.style
styler.set_属性(**{'color':'red','border color':'black','border width':'1px})
设置表格样式([{'selector':'th','props':[('font-weight','normal')]})
styler.to_excel(excel_writer=writer,sheet_name=“Feuil1”,startrow=4,startcol=2,index=False)
writer.save()
尽管set_属性
按预期工作,但是set_table_样式
似乎没有应用我想要的样式,这是包含“Pressure”和“Volume”的单元格的正常字体大小
在同一个主题上,我在文档中找不到以编程方式更改列宽度的方法,只是不支持吗
如果你有任何关于我可能做错了什么或为什么它不起作用的线索,我提前感谢你的回答
保罗
编辑:我确实找到了我遇到的问题的答案,但是如果有人解释我以前的代码没有按预期工作的原因,我会很高兴听到它(但我认为这是因为
set\u table\u styles
方法只能在呈现html页面或在Jupyter笔记本中显示表格时使用)我在上找到了两个问题的解决方案(在我发布此问题之前,我不知道存在此问题):
workbook = writer.book
worksheet = writer.sheets['Feuil1']
# Creation of format for the column headers
header_format = workbook.add_format({
'bold': False,
'border': 1})
# Writing the column headers only and applying the style with the format created
for col_num, value in enumerate(data_frame.columns.values):
worksheet.write_string(0, col_num, value, header_format)
# Widening a column to fully fit a string in it
worksheet.set_column('C:C', 10)