多个csv文件合并多个公共列合成为一个csv文件
时间: 2024-02-13 22:04:14 浏览: 147
合并多个CSV文件与一个文件中
以下是Python代码示例,将多个CSV文件按照多个公共列合并为一个新的CSV文件:
```python
import pandas as pd
import os
# 源CSV文件夹路径
folder_path = 'path/to/folder'
# 目标CSV文件路径
output_path = 'path/to/output.csv'
# 定义一个空的DataFrame,用于存储所有行的数据
merged_data = pd.DataFrame()
# 循环遍历CSV文件夹中的所有CSV文件
for file in os.listdir(folder_path):
if file.endswith('.csv'):
# 打开CSV文件并读取数据
csv_data = pd.read_csv(os.path.join(folder_path, file))
# 将数据与merged_data DataFrame合并
if merged_data.empty:
merged_data = csv_data
else:
# 将数据按照多个公共列合并
merged_data = pd.merge(merged_data, csv_data, on=['公共列1', '公共列2'], how='outer')
# 将merged_data DataFrame中的数据写入目标CSV文件
merged_data.to_csv(output_path, index=False)
```
请将代码中的`['公共列1', '公共列2']`替换为您要合并的CSV文件中的公共列的名称列表。此代码假设所有CSV文件具有相同的公共列和列顺序。如果CSV文件不具有相同的公共列或列顺序,则需要进行一些额外的处理以确保正确合并数据。
阅读全文