2014-02-20 132 views
0

我正在写一个小型脚本,它从csv文件A取2列(电子邮件地址和电话号码),并将它与来自csv文件B的2列(也是电子邮件地址和电话号码)进行比较。比较2个csv文件的列

CSV文件中的列顺序: 电子邮件地址,电话号码,以便

csv文件B柱: 电子邮件地址,地址,部门,地点,电话号码,租用日期

我会就像从csv文件A取2列,并将其与csv fil中的2个指定列进行比较ËB.

在csv文件B,如果电子邮件地址不具有电话号码相关联,将其与csv文件A,并复制电话号码到文件B

我与测试代码(即时编程),但我不确定如何抢2列。我曾经想过把两个文件的用户名和密码都放到一个Dict中,然后比较两个Dict,但我不知道如何从列中获取数据。

import csv 

def compareCSVCol(): 
    cybReader = csv.reader(open(r"C:/JostleMobileNumberCSV/CYBMobile.csv")) 
    josReader = csv.reader(open(r"C:/JostleMobileNumberCSV/jostleContributors.csv")) 

    for i in cybReader: 
     print(i[0]) 

谢谢你的帮忙!

回答

1

我想看看以下内容: Creating a dictionary from a csv file?

phoneDict = dict((row[0],row[1]) for row in cybReader) 

with open('./out.csv', 'w') as outFile: 
    writer = csv.writer(outFile) 
    for row in josReader: 
     if not row[4]: 
      row[4] = phoneDict[row[0]] 
     writer.writerow(row)