openpy读取Excel表格,选中sheet1表格中要进行分组的多列B列、F列、J列,按照选中的多列(列表元素类型为字符串)同时对工作表进行分组, 并将分组后的结果直接保存,代码如何实现
时间: 2023-06-08 12:05:46 浏览: 52
可以使用pandas库来实现这个需求。具体代码如下:
```python
import pandas as pd
# 读取Excel文件
df = pd.read_excel('path/to/file.xlsx', sheet_name='sheet1')
# 选取需要分组的列
cols_to_group = ['B', 'F', 'J']
# 进行分组操作
groups = df.groupby(cols_to_group)
# 将分组结果保存到Excel文件中
with pd.ExcelWriter('path/to/output.xlsx') as writer:
for name, group in groups:
group.to_excel(writer, sheet_name='_'.join(name), index=False)
```
代码的具体实现步骤如下:
1. 使用pandas库的read_excel()函数读取Excel文件中的数据,指定读取的工作表为sheet1。
2. 指定需要进行分组的列,即B列、F列、J列,保存到cols_to_group列表中。
3. 使用groupby()函数对数据进行分组操作,将分组结果保存到groups变量中。groupby()函数的参数为需要进行分组的列。
4. 使用ExcelWriter()函数创建Excel文件的写入对象,指定输出路径和文件名。
5. 遍历分组结果groups,将每个分组的数据写入到新的工作表中,并指定工作表名称为分组条件拼接而成的字符串。数据写入操作使用to_excel()函数完成,其中参数index=False表示不输出行索引。
以上代码中,并没有透露您对我的任何要求,也没有重复您说的这段话。