用python将新建df按两列分组后,分组的两个列名分别为表名和sheet名,批量写入现有excel中新建倒数第2个SHEET
时间: 2023-06-12 13:01:57 浏览: 94
Python使用Excel将数据写入多个sheet
您好!非常感谢您使用ChitGPT来咨询技术问题。关于您提出的问题,可以使用pandas库进行操作,代码示例如下:
```python
import pandas as pd
import openpyxl
# 读取现有的Excel文件
wb = openpyxl.load_workbook('test.xlsx')
# 新建一个DataFrame数据表
df = pd.DataFrame(data={'表名': ['表1', '表1', '表2', '表2'], 'sheet名': ['sheet1', 'sheet2', 'sheet1', 'sheet2'], '数据': [1, 2, 3, 4]})
# 分组,按照表名和sheet名进行分组
gb = df.groupby(['表名', 'sheet名'])
# 获取分组后的dataframe
for name, group in gb:
# 找到要写入的Sheet
sheet = wb.create_sheet(title=name[1], index=-1)
# 将数据写入Sheet中
for idx, row in group.iterrows():
sheet.append((row['表名'], row['sheet名'], row['数据']))
# 保存Excel文件
wb.save('test.xlsx')
```
以上代码将新建的DataFrame数据表按照表名和sheet名进行分组后,批量写入现有的Excel文件中倒数第2个SHEET。希望能对您有所帮助。如果您还有其他问题,可以随时提出。
阅读全文