用python将新建df按两列分组后,分组的两个列名分别为表名和sheet名,批量写入现在excel中倒数第2个新SHEET
时间: 2023-06-12 09:02:03 浏览: 81
回答:
您好,可以使用pandas库来实现该需求。具体的实现步骤如下:
1. 首先,读取现在excel中的数据,可以使用 pandas.read_excel 函数。
2. 使用 pandas.groupby 函数按照表名和sheet名进行分组,并遍历每个分组。在循环中,获取当前分组的表名和sheet名,并将其写入到新的excel表格中。
3. 最后,将新的excel表格保存到现有excel中的倒数第二个sheet中。可以使用 pandas.ExcelWriter 函数来实现这一功能。
下面是实现代码的示例:
```python
import pandas as pd
# 读取现有excel数据
df = pd.read_excel('example.xlsx')
# 按照表名和sheet名进行分组
grouped = df.groupby(['表名', 'sheet名'])
# 遍历每个分组,并写入到新的excel表格中
writer = pd.ExcelWriter('example.xlsx', engine='openpyxl')
for name, group in grouped:
# 获取当前分组的表名和sheet名
table_name, sheet_name = name
# 将分组数据写入到新的excel表格中
group.to_excel(writer, sheet_name=sheet_name, index=False)
# 将新的excel表格保存到现有excel中的倒数第二个sheet中
writer.save()
writer.close()
```
注意:在将新的excel表格保存到现有excel中的倒数第二个sheet中时,需要安装 openpyxl 库。可以使用 pip install openpyxl 命令来安装该库。
阅读全文