pandas 设置表格的只把标题行填充为浅蓝色,全表加边框,并输出到EXCEL
时间: 2024-05-09 17:17:02 浏览: 80
中该怎么实现?
可以通过 pandas.style 的 set_properties 方法来达到此效果。具体实现代码如下:
```
import pandas as pd
# 创建表格数据
data = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]})
# 设置标题行背景颜色为浅蓝色
header_style = {'backgroundColor': '#ADD8E6'}
data.style.set_properties(**{'text-align': 'center'}).set_properties(subset=pd.IndexSlice[[0], :], **header_style)
# 添加表格边框
data.style.set_table_styles([{'selector': 'table', 'props': [('border', '1px solid black')]}])
# 输出到excel
data.to_excel('output.xlsx', index=False)
```
其中,set_properties 方法通过字典的形式传入所需设置的样式属性,通过 subset 参数来指定需要设置的区域,本例设置了标题行的背景颜色。set_table_styles 方法通过字典的形式传入表格样式属性,本例设置了表格边框为1像素实线黑色边框。最后,使用 to_excel 方法将数据输出到 Excel 文件。
相关问题
pandas 设置表格的只把标题行填充为浅蓝色,全表加边框,并输出到EXCEL,代码要阐
述清楚。
好的,您的要求我已经记下来了。以下是代码实现:
``` python
import pandas as pd
# 创建数据框
df = pd.DataFrame({
"姓名": ["张三", "李四", "王五"],
"年龄": [20, 22, 25],
"城市": ["北京", "上海", "广州"]
})
# 设置样式
header_style = {
"fill": {
"type": "pattern",
"patternType": "solid",
"fgColor": "CDE6F5"
},
"border": {
"top": {"style": "thin", "color": "000000"},
"bottom": {"style": "thin", "color": "000000"},
"left": {"style": "thin", "color": "000000"},
"right": {"style": "thin", "color": "000000"}
}
}
cells_style = {
"border": {
"top": {"style": "thin", "color": "000000"},
"bottom": {"style": "thin", "color": "000000"},
"left": {"style": "thin", "color": "000000"},
"right": {"style": "thin", "color": "000000"}
}
}
# 创建表格对象
table = pd.ExcelWriter("table.xlsx", engine="xlsxwriter")
df.to_excel(table, sheet_name="Sheet1", index=False, startrow=1)
# 找到sheet1对象
worksheet = table.sheets["Sheet1"]
# 设置标题行样式
header_range = f"A1:{worksheet.dim_colmax[1]}1"
worksheet.conditional_format(header_range, header_style)
# 设置表格单元格样式
cells_range = f"A2:{worksheet.dim_colmax[1]}{worksheet.dim_rowmax}"
worksheet.conditional_format(cells_range, cells_style)
# 保存并关闭文件
table.save()
```
这段代码实现了以下功能:
1. 创建一个具有三列数据的数据框。
2. 将数据框输出到名为“table.xlsx”的Excel文件中的“Sheet1”工作表中。
3. 将标题行的填充颜色设置为浅蓝色,边框设置为细线。这是通过使用`xlsxwriter`模块的`conditional_format()`方法实现的。
4. 将表格的单元格的边框全部设置为细线。
5. 最后,将更改保存到Excel文件中。
以上就是代码的详细实现过程,如果有任何疑问,请随时提出。
pandas 设置表格的只把标题行填充为浅蓝色,全表加边框,并输出到EXCEL,代码要简单
好的,下面是代码:
```python
import pandas as pd
# 创建样例数据
data = {'姓名': ['张三', '李四', '王五'],
'年龄': [20, 21, 22],
'成绩': [90, 85, 95]}
# 创建DataFrame对象
df = pd.DataFrame(data)
# 设置标题行的样式
header_style = {'fill': {'color': '#CCE5FF'},
'border': {'left': {'style': 'thin'},
'right': {'style': 'thin'},
'top': {'style': 'thin'},
'bottom': {'style': 'thin'}}}
# 创建ExcelWriter对象
excel_writer = pd.ExcelWriter('output.xlsx', engine='xlsxwriter')
# 把DataFrame写入Excel,并设置样式
df.to_excel(excel_writer, sheet_name='Sheet1', index=False, startrow=0, header=True)
workbook = excel_writer.book
worksheet = excel_writer.sheets['Sheet1']
for col_num, value in enumerate(df.columns.values):
worksheet.write(0, col_num, value, header_style)
# 保存Excel文件
excel_writer.save()
```
这个代码会将DataFrame中的数据输出到Excel文件,并设置表格的样式,包括标题行填充颜色和边框。你可以根据自己的需要对样式进行调整。
阅读全文