python同一工作簿2个子表当某一列相同时用逗号拼接另一列
时间: 2023-12-10 13:41:07 浏览: 30
可以使用 `pandas` 库来实现这个功能。具体步骤如下:
1. 读取 Excel 文件,将每个子表读取为一个 DataFrame。
2. 使用 `pandas` 的 `groupby` 方法按照相同的列进行分组。
3. 对每个分组内的数据进行处理,用逗号拼接另一列。
4. 将结果写入到新的 Excel 文件中。
下面是一份示例代码,你可以根据自己的需要进行修改:
```python
import pandas as pd
# 读取 Excel 文件
df1 = pd.read_excel('workbook.xlsx', sheet_name='Sheet1')
df2 = pd.read_excel('workbook.xlsx', sheet_name='Sheet2')
# 将两个 DataFrame 合并为一个
df = pd.concat([df1, df2], ignore_index=True)
# 按照相同的列进行分组,并对每个分组内的数据进行处理
df_grouped = df.groupby('相同的列')['需要拼接的列'].apply(lambda x: ','.join(x)).reset_index()
# 将结果写入到新的 Excel 文件中
df_grouped.to_excel('output.xlsx', index=False)
```
其中,需要修改的地方包括:
- `workbook.xlsx`:原始 Excel 文件名。
- `Sheet1` 和 `Sheet2`:两个子表的名称。
- `相同的列`:需要按照这一列进行分组。
- `需要拼接的列`:需要将这一列的数据拼接起来。