按照相同列合并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")
mci
= pd
.read_csv
("MCI_RID_Mlabel.csv")
f
= open('res.csv','w',encoding
='utf-8',newline
='')
res
= csv
.writer
(f
)
res
.writerow
(["RID","label","PTID"])
for i
in range(0,mci
.shape
[0]):
d
= mci
.iloc
[i
]['RID']
for j
in range(0,r
.shape
[0]):
if r
.iloc
[j
]['RID'] == d
:
res
.writerow
([d
,mci
.iloc
[i
]['label'],r
.iloc
[j
]['PTID']])
break
f
.close
()
结果
只需几秒钟,新的文件就生成了: 使用python进行这种表格处理十分容易 写代码只要几分钟,虽然有两重循环,但是也只要几秒钟就运行完成。要是手工做,费事费力,正确率还不能保证。 人生苦短,我用python,hhh