python指定多个csv文件拼接/遍历当前文件夹中所有csv文件并横向拼接/仅拼接第二列 |
您所在的位置:网站首页 › 合并文件夹中所有文件 › 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')三、遍历文件夹中所有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)#学习备份 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |