有如下兩個文件one.csv
列0, 列1, 列2, 列3
1, a, ww.ok;ww.ant;, anything
2, e, ww.kdi;, ihy
3, se, ww.sdd, sld
4, sd, ww.akd, sdjfa
two.csv
列0, 列1, 列2, 列3
1, sd, ww.ok;, 1245
2, 2e3, ww.kdi;, 432
3, de, ww.sdd;, 232
目標是先判斷one.csv列2是否包含two.csv文件列2,如果包含,則將two.csv列3的數(shù)據(jù)追加到one.csv對應行的末尾,最終結果效果如下:
result.csv
列0, 列1, 列2, 列3, 列4
1, a, ww.ok;ww.ant;, anything 1245
2, e, ww.kdi;, ihy 432
3, se, ww.sdd, sld 232
4, sd, ww.akd, sdjfa
自己寫了幾行代碼,一直卡在追加這一塊,因為實際要處理的數(shù)據(jù)量大,不像給出的樣本這樣,以one.csv為基礎遍歷,則比對的數(shù)據(jù)不全,以two.csv為基礎遍歷,則寫文件不知道如何進行。求前輩們指點。
import csv
import datetime
start = datetime.datetime.now()
with open('D:\one.csv') as one:
ic_rd = csv.reader(one)
next(ic_rd)
for i in ic_rd:
with open('D:\two.csv') as ga:
ga_rd = csv.reader(ga)
next(ga_rd)
for g in ga_rd:
if g[2] in i[2]:
i.append(g[2])
break
with open('D:\\result.csv','a+') as rs:
writer = csv.writer(rs)
writer.writerow(i)
end = datetime.datetime.now()
print (end-start)
添加回答
舉報
0/150
提交
取消