合并多个csv文件python多种方法
时间: 2023-09-16 17:13:09 浏览: 56
有多种方法可以合并多个CSV文件,以下是其中几种常见的方法:
1. 使用pandas库
```python
import pandas as pd
import glob
# 获取所有csv文件路径
file_paths = glob.glob("*.csv")
# 读取所有csv文件并合并
df = pd.concat([pd.read_csv(fp) for fp in file_paths], ignore_index=True)
# 导出合并后的数据
df.to_csv("merged.csv", index=False)
```
2. 使用csv库
```python
import csv
import glob
# 获取所有csv文件路径
file_paths = glob.glob("*.csv")
# 打开目标文件和写入器
with open("merged.csv", "w", newline="") as outfile:
writer = csv.writer(outfile)
# 遍历所有csv文件
for fp in file_paths:
# 打开csv文件和阅读器
with open(fp, "r") as infile:
reader = csv.reader(infile)
# 将每一行数据写入目标文件
for row in reader:
writer.writerow(row)
```
3. 使用os库和pandas库
```python
import os
import pandas as pd
# 获取当前工作目录中所有csv文件的路径
csv_files = [f for f in os.listdir(os.getcwd()) if f.endswith('.csv')]
# 创建一个空的pandas DataFrame对象,用于存储所有csv文件的数据
merged_data = pd.DataFrame()
# 遍历每个csv文件并将其添加到merged_data中
for csv_file in csv_files:
data = pd.read_csv(csv_file)
merged_data = pd.concat([merged_data, data])
# 将merged_data保存为csv文件
merged_data.to_csv('merged.csv', index=False)
```
以上是三种常见的合并多个CSV文件的方法,你可以根据自己的需求选择适合自己的方法。