2014-02-20 174 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)