python将df按两列分组后,分组的两个列名分别为表名和sheet名,如果原始和分组列名相同,批量写入原始excel中倒数第2个新SHEET
时间: 2023-06-12 21:02:27 浏览: 157
Python操作Excel把数据分给sheet
,该怎么实现呢?
可以使用pandas库的groupby函数进行分组,然后使用ExcelWriter类进行写入操作。具体步骤如下:
1. 读取原始excel文件,将数据存储在一个DataFrame对象中。
2. 对DataFrame对象按两列进行分组,即按表名和sheet名进行分组。可以使用groupby函数实现。
3. 遍历分组后的结果,将每个分组写入一个新的sheet中。
4. 将新的excel文件保存到原始文件所在的位置。
下面是一个简单的示例代码:
```
import pandas as pd
# 读取原始excel文件
df = pd.read_excel('原始文件.xlsx')
# 按表名和sheet名进行分组
groups = df.groupby(['表名', 'sheet名'])
# 创建ExcelWriter对象
writer = pd.ExcelWriter('新文件.xlsx')
# 遍历分组后的结果,逐个写入sheet
for name, group in groups:
# 将分组写入一个新的sheet中
group.to_excel(writer, sheet_name=name)
# 将新的excel文件保存到原始文件所在的位置
writer.save()
```
注意:在实际使用中,需要根据实际情况修改代码中的列名和文件名等参数。同时,需要确保原始文件在代码执行时未被其他程序占用。
阅读全文