一、指定多个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')
三、遍历文件夹中所有csv文件并横向拼接每个csv的第二列:
当前路径:
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)
# 提取每个文件的第二列数据
column = df.iloc[:, 1]
# 将提取的数据添加到合并后的DataFrame中
merged_data = pd.concat([merged_data, column], axis=1)
# 保存合并后的数据到新的CSV文件
merged_data.to_csv('合并第二列.csv', index=False)
指定路径:
import os
import pandas as pd
# 获取文件夹路径
folder_path = r"文件夹路径"
# 初始化一个空的DataFrame用于存储拼接结果
result = pd.DataFrame()
# 遍历文件夹中的所有文件
for file_name in os.listdir(folder_path):
# 判断文件是否为CSV文件
if file_name.endswith(".csv"):
# 构建文件的完整路径
file_path = os.path.join(folder_path, file_name)
# 读取CSV文件
df = pd.read_csv(file_path, encoding='gbk')
# 获取文件的第二列数据
column_data = df.iloc[:, 1]
# 将第二列数据添加到结果DataFrame中
result = pd.concat([result, column_data], axis=1)
# 将结果保存为CSV文件
result.to_csv("合并第二列.csv", index=False)
# 打印结果DataFrame的大小
print(result.shape)
#学习备份