python指定多个csv文件拼接/遍历当前文件夹中所有csv文件并横向拼接

一、指定多个csv文件拼接:

import pandas as pd
 
df1 = pd.read_csv(r"1.csv", encoding='gbk') #读取当前文件夹中文件
 #指定路径的文件则改为(r'C:/Users/Administrator/Desktop/angular_velocity/1.csv')
df2 = pd.read_csv(r"2.csv", encoding='gbk') #需手动更改添加所有文件名称df3、df4...

file = [df1, df2]
 
outfile = pd.concat(file, axis=1) #横向拼接

outfile = pd.concat(file, axis=0) #竖向拼接
 
outfile.to_csv("WhatUWant.csv",index=0, sep=',') #输出文件名WhatUWant.csv
 
print(outfile.shape) #查看文件大小

二、遍历当前文件夹中所有csv文件并横向拼接:

方法一:使用glob方法和pandas库

import glob
import pandas as pd

# 获取所有CSV文件路径
csv_list = glob.glob('*.csv')

# 创建一个空的DataFrame用于存储合并后的数据
merged_data = pd.DataFrame()

# 遍历所有CSV文件
for csv_file in csv_list:
    # 读取CSV文件数据
    df = pd.read_csv(csv_file)
    # 横向拼接数据
    merged_data = pd.concat([merged_data, df], axis=1)

# 保存合并后的数据到新的CSV文件
merged_data.to_csv('合并.csv', index=False)

方法二:使用pandas库的concat方法

import pandas as pd

# 创建一个空的DataFrame用于存储合并后的数据
merged_data = pd.DataFrame()

# 遍历所有CSV文件
for i in range(1, 3):
    # 读取CSV文件数据
    df = pd.read_csv(f'文件-{i}.csv')
    # 横向拼接数据
    merged_data = pd.concat([merged_data, df], axis=1)

# 去除重复数据
merged_data.drop_duplicates(inplace=True)

# 保存合并后的数据到新的CSV文件
merged_data.to_csv('文件.csv', index=False, encoding='utf-8')