Merging two CSV files by a common column python

后端 未结 2 1353
春和景丽
春和景丽 2021-01-21 17:08

I am trying to merge two csv files with a common id column and write the merge to a new file. I have tried the following but it is giving me an error -

import c         


        
2条回答
  •  Happy的楠姐
    2021-01-21 17:22

    Thanks Shijo.

    This is what worked for me after - merged by the first column in each csv.

    import csv
    from collections import OrderedDict
    
    with open('stops.csv', 'rb') as f:
        r = csv.reader(f)
        dict2 = {row[0]: row[1:] for row in r}
    
    with open('stops2.csv', 'rb') as f:
        r = csv.reader(f)
        dict1 = OrderedDict((row[0], row[1:]) for row in r)
    
    result = OrderedDict()
    for d in (dict1, dict2):
        for key, value in d.iteritems():
             result.setdefault(key, []).extend(value)
    
    with open('ab_combined.csv', 'wb') as f:
        w = csv.writer(f)
        for key, value in result.iteritems():
            w.writerow([key] + value)
    

提交回复
热议问题