openpy读取Excel表格,选中要进行分组的多列B列、F列、J列,按照选中的多列对工作表进行分组,将分组后的结构写入excel文件并保存
时间: 2024-05-11 09:16:17 浏览: 71
答案:
好的,我明白你的问题。你可以使用openpyxl库中的pandas工具来实现这一操作。以下是代码示例:
```python
import pandas as pd
from openpyxl import load_workbook
# 打开Excel文件
wb = load_workbook(filename='example.xlsx')
# 选择要分组的列
cols_to_group = ['B', 'F', 'J']
# 读取工作表
ws = wb.active
# 将所选列中的数据存储在pandas DataFrame中
data = []
for row in ws.iter_rows(min_row=2, values_only=True):
data.append([row[i] for i in [1, 5, 9]])
df = pd.DataFrame(data, columns=cols_to_group)
# 分组
grouped = df.groupby(cols_to_group).size().reset_index(name='Count')
# 将分组数据写入Excel文件并保存
writer = pd.ExcelWriter('output.xlsx')
grouped.to_excel(writer, index=False)
writer.save()
```
这段代码将Excel文件中的B列、F列和J列中的数据存储在pandas DataFrame中,并按这三列进行分组。然后,分组数据将写入新的Excel文件(output.xlsx)中并保存。
阅读全文