Python合并多个csv / txt 为一个文件

Python合并多个csv / txt 为一个文件

在数据处理的时候遇到需要将多个文件一一对应拼接成一个文件的情况,就比如说这里有一群人,每个人有不同的的特征,每个特征是一个csv文件,最终需要将各个特征横向拼接起来,形成一个总的csv文件,每一行对应的内容就是一个人的全部特征,代码如下

import pandas as pd
import os

def merge_datas(data_fold_path):
    file_path = []
    file_name = []
    for dirpath, _, file in os.walk(data_fold_path):
        for name in file:
            file_name.append(name.split('.')[0])
            file_path.append(os.path.join(dirpath, name))

    # file_maxLen = len(open(file_path[0]).readlines())
    # merge those data files
    df = pd.read_csv(file_path[0], names=[file_name[0]])
    for _, file in enumerate(file_path[1:]):
        df_file = pd.read_csv(file, names=[file_name[_ + 1]])
        df = pd.concat([df, df_file], axis=1, )
    df = df.reset_index(drop=True)
    df.to_csv(data_path_base + '_data_merged.csv')


data_path_base = '/Users/chenxjer/Desktop/Git/Transformer-Health-KG-master/data/flavivirus'
merge_datas(data_path_base)

版权声明:本文为m0_47029116原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。