按照相同列合并CSV文件(python)

    技术2026-02-02  6

    按照相同列合并csv文件

    需求解决办法代码结果

    需求

    现有两个csv文件,分别如图所示 文件一: 文件二: 需要生成一个新的文件,在文件二的基础上增加一列 PTID,包含三列:RID,lable,PTID,需要按照文件一的RID-PTID关系进行增加。 需要注意,文件一有5000+行,文件二有400+行。

    解决办法

    如果按照手工进行依次修改,效率极低,需要一行一行查找。使用python可以很容易的完成这一任务: 这里使用pandas库进行csv文件的读取操作,使用csv库进行文件的写入操作。

    代码

    import csv import pandas as pd r = pd.read_csv("ROSTER.csv") # 文件1 mci = pd.read_csv("MCI_RID_Mlabel.csv") # 文件2 f = open('res.csv','w',encoding='utf-8',newline='') # 写入文件,注意newline='',没有会造成有空行 res = csv.writer(f) res.writerow(["RID","label","PTID"]) # 写入表头 for i in range(0,mci.shape[0]): # 依次遍历文件2 d = mci.iloc[i]['RID'] # 获取当前行的 RID for j in range(0,r.shape[0]): # 在文件 1 中依次查找 RID if r.iloc[j]['RID'] == d: res.writerow([d,mci.iloc[i]['label'],r.iloc[j]['PTID']]) # 查找到,写入新文件中 break # 直接break,进入下一行查找 f.close() # 关闭文件,千万别忘了

    结果

    只需几秒钟,新的文件就生成了: 使用python进行这种表格处理十分容易 写代码只要几分钟,虽然有两重循环,但是也只要几秒钟就运行完成。要是手工做,费事费力,正确率还不能保证。 人生苦短,我用python,hhh

    Processed: 0.029, SQL: 9