比较2个csv文件中的列

时间:2014-02-20 01:14:42

标签: python csv

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

csv文件按顺序排列的列: 电子邮件地址,电话号码

按顺序

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

我想要的是从csv文件A中获取2列,并将其与csv文件B中的2个指定列进行比较。

在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 个答案:

答案 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)