加入输出文件上下居中,左右居中,添加边框,字体宋体,字号9
时间: 2024-03-06 15:48:34 浏览: 105
在写入Excel文件时,可以设置输出格式来实现要求的效果。可以使用pandas的Styler对象来设置单元格的格式,具体实现如下:
```
import pandas as pd
import datetime
now = datetime.datetime.now().strftime('%Y%m%d')
data = pd.read_excel(r'E:\每日数据\MISPOS明细.xlsx', dtype={'商户编号':str,'终端编号':str, '处理情况': str})
department_list = data['省份'].unique() # 获取所有省份
with pd.ExcelWriter('MISPOS明细_{}.xlsx'.format(now)) as writer:
for department in department_list:
df = data[(data["省份"] == department) & (data["处理情况"] == "未处理")]
df.to_excel(writer, sheet_name=department, index=False)
# 获取单元格范围
nrows, ncols = df.shape
startrow = 1
endrow = nrows + 1
startcol = 1
endcol = ncols + 1
# 获取单元格样式
style = df.style \
.set_properties(**{'font.family': 'SimSun', 'font.size': '9pt'}) \
.set_table_styles([{
'props': [('border', '1px solid black')],
'selector': 'td'
}]) \
.set_table_attributes('border="1"') \
.set_align('center') \
.set_vertical_alignment('middle')
# 设置单元格样式
for i in range(startrow, endrow):
for j in range(startcol, endcol):
writer.sheets[department].write(i, j, df.iloc[(i - 1), (j - 1)], style)
```
在这个代码中,我们首先使用unique()方法获取了数据中的所有省份列表,然后使用with语句创建了一个Excel写入器,并在循环中遍历所有省份,依次将各个省份的数据写入到Excel文件中。
在写入Excel文件时,我们使用了Styler对象对单元格样式进行设置。具体来说,我们设置了字体为宋体、字号为9pt,以及单元格上下居中、左右居中、添加边框的样式。最后,我们通过for循环将样式应用到每个单元格中。
需要注意的是,这个代码中样式的设置方法是一种比较繁琐的方法,可以根据自己的需求和实际情况进行适当的调整。
阅读全文