在python中将csv1的column1更新为csv2中的column5

时间:2014-03-13 06:58:29

标签: python csv

我今天坚持这一整天,但基本上我想要实现的是,我有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的更新列。如果我使用写行,它会写入整个列,但不会更新列。任何帮助表示赞赏。谢谢

0 个答案:

没有答案