pandas按表头合并文件夹中的多个excel
时间: 2024-10-21 13:08:07 浏览: 37
Pandas是一个强大的数据处理库,在Python中常用于数据分析。如果你想合并文件夹中的多个Excel文件,并按照表头进行合并,你可以使用pandas的`read_excel`函数读取每个文件,然后使用`concat`或`append`函数将它们连接在一起。
首先,安装pandas(如果你还没有安装):
```bash
pip install pandas
```
然后,可以按照以下步骤操作:
1. 导入所需的模块:
```python
import os
import pandas as pd
```
2. 定义文件夹路径和文件扩展名:
```python
folder_path = 'your_folder_path' # 替换为你需要合并的文件夹路径
file_extension = '*.xlsx' # Excel文件扩展名
```
3. 使用递归获取所有文件:
```python
files = [os.path.join(folder_path, f) for f in os.listdir(folder_path) if f.endswith(file_extension)]
```
4. 遍历文件列表,逐个读取并合并:
```python
dfs = []
for file in files:
df = pd.read_excel(file)
dfs.append(df)
# 如果你想按照表头合并,可以直接使用pd.concat
merged_df = pd.concat(dfs, ignore_index=True) # ignore_index确保行索引从0开始
# 或者如果表头一致,只在第一次读取时设置为列名
# merged_df = dfs[0]
# for i in range(1, len(dfs)):
# merged_df = merged_df.merge(dfs[i], on=merged_df.columns.tolist(), how='outer')
# 如果不需要表头合并,append会保留各自文件的数据结构:
# merged_df = dfs[0]
# for df in dfs[1:]:
# merged_df = merged_df.append(df, ignore_index=True)
```
最后,保存结果到一个新的Excel文件:
```python
merged_df.to_excel('output.xlsx', index=False) # 将合并后的DataFrame写入新的Excel文件
```
阅读全文