pandas按指定列筛选多个sheet并合并到新的sheet
时间: 2024-01-24 15:02:37 浏览: 121
可以使用pandas库中的read_excel()函数读取Excel文件的每个sheet,然后使用指定列筛选数据并将结果合并到一个新的sheet中。
以下是示例代码:
```python
import pandas as pd
# 读取Excel文件的所有sheet
excel_file = pd.ExcelFile('example.xlsx')
sheets = excel_file.sheet_names
# 遍历每个sheet
dfs = []
for sheet in sheets:
# 读取指定列的数据
df = pd.read_excel(excel_file, sheet_name=sheet, usecols=['列1', '列2', '列3'])
# 将数据添加到列表中
dfs.append(df)
# 合并所有数据到一个DataFrame中
merged_df = pd.concat(dfs, ignore_index=True)
# 将合并后的数据保存到新的sheet中
with pd.ExcelWriter('merged.xlsx') as writer:
merged_df.to_excel(writer, sheet_name='合并后的数据', index=False)
```
在这个示例代码中,我们首先使用pd.ExcelFile()函数读取Excel文件,并获取所有sheet的名称。然后使用for循环遍历每个sheet,使用pd.read_excel()函数读取指定列的数据,并将结果添加到一个列表中。最后,使用pd.concat()函数将所有数据合并到一个DataFrame中,并使用pd.ExcelWriter()函数将合并后的数据保存到新的Excel文件中。
请注意,示例代码中使用的列名称是示例,你需要替换为你的实际列名称。
阅读全文