用python最新代码将新建的df按两列分组,两个列名分别为表名和sheeet名,把分组后的df按顺序输出到已有excel中的倒数第二个sheet,表头填充为浅蓝色,全表加边框
时间: 2024-04-30 21:17:24 浏览: 8
好的,以下是我基于你的要求写的Python代码,可以实现你所需要的功能:
```python
import pandas as pd
from openpyxl import load_workbook
from openpyxl.styles import PatternFill, Border, Side
df = pd.DataFrame(...) # 新建的DataFrame
# 按两列分组
grouped = df.groupby(['表名', 'sheet名'])
# 把分组后的df按顺序输出到已有excel中的倒数第二个sheet
book = load_workbook('your_file.xlsx')
writer = pd.ExcelWriter('your_file.xlsx', engine='openpyxl')
writer.book = book
writer.sheets = dict((ws.title, ws) for ws in book.worksheets)
sheet_name = book.sheetnames[-2] # 倒数第二个sheet
grouped.apply(lambda x: x.to_excel(writer, sheet_name, index=False, header=False))
writer.save()
# 表头填充为浅蓝色
sheet = book[sheet_name]
blueFill = PatternFill(start_color='70B5F9', end_color='70B5F9', fill_type='solid')
for cell in sheet[1]:
cell.fill = blueFill
# 全表加边框
thin = Side(border_style='thin', color='000000')
border = Border(left=thin, right=thin, top=thin, bottom=thin)
for row in sheet:
for cell in row:
cell.border = border
```
希望我能帮到你,如果有其他问题,欢迎随时问我哦!