我今天坚持这一整天,但基本上我想要实现的是,我有2列的csv1,另有5列的csv2。
CSV1
id1,10
id2,20
id3,22
id4,59
CSV2
id1,x,x,x,15
id11,x,x,x,32
id2,x,x,x,22
id3,x,x,x,42
id8,x,x,x,36
id4,x,x,x,47
现在我想从csv1读取,读取csv1中的id1并在csv2中找到相同的id1,然后使用csv1中ids的值更新csv2。对csv1的每一行执行相同操作,并根据值更新csv2。所以更新的csv2将是
id1,x,x,x,10
id11,x,x,x,32
id2,x,x,x,20
id3,x,x,x,22
id8,x,x,x,36
id4,x,x,x,59
到目前为止,我有以下代码,但我不确定在写回csv2时如何更新列。
with open(csv2, 'rU') as outCSV:
outreader = csv.reader(outCSV)
outcol1 = []
outcol5 = []
for row in outreader:
outcol1.append(row[0])
outcol5.append(row[4])
with open(inputcsv, 'rU') as inCSV:
inreader = csv.reader(inCSV)
for row in inreader:
incol1 = row[0]
incol2 = row[1]
for i, name in enumerate(outcol1):
if incol1 == name:
outcol5[i] = incol2
print outcol5 #The updated column list.
现在,如何将此列表写回csv2的更新列。如果我使用写行,它会写入整个列,但不会更新列。任何帮助表示赞赏。谢谢