Python 如何将数据框样式设置为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

我正在尝试构建一个将数据写入excel文件的应用程序。因此,我尝试使用
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)