pandas怎么把多个csv合并
时间: 2024-10-08 17:13:14 浏览: 24
在Python的pandas库中,你可以使用`concat()`或`merge()`函数来合并多个CSV文件。这里分别简述这两种方法:
1. **使用`concat()`**:这个函数适用于沿着某一轴方向(行或列)堆积数据,比如将多个DataFrame水平或垂直地拼接在一起。如果你想要简单地堆叠csv文件,可以按顺序读取它们,然后将它们放入一个列表中,最后用`concat()`:
```python
import pandas as pd
# 读取多个csv文件
dfs = [pd.read_csv(file) for file in ['file1.csv', 'file2.csv', 'file3.csv']]
# 沿着索引(默认行)方向拼接
merged_df = pd.concat(dfs)
# 如果需要保存结果到新的csv,可以直接写入
merged_df.to_csv('merged_data.csv', index=False)
```
2. **使用`merge()`**:如果你需要基于某些共享的键(如ID或日期)进行合并,那么`merge()`函数更为合适。例如,假设所有csv都有一个名为'id'的列,你可以这样做:
```python
df1 = pd.read_csv('file1.csv')
df2 = pd.read_csv('file2.csv')
# 指定共同的关键字列
merged_df = pd.merge(df1, df2, on='id', how='outer') # 或者 inner, left, right选择合并方式
# 重复上述步骤处理其他csv文件,最终将所有数据合并
final_df = pd.concat([merged_df, ...])
final_df.to_csv('merged_data.csv', index=False)
```
阅读全文