2015-07-03 19 views
-2

我有一個csv文件,其中包含很多郵編[郵編,街道,城市,城市]和第二個CSV文件,其中包含朋友,但只有[姓名,家庭號碼,郵政編碼]蟒蛇CSV匹配和組合兩個文件的數據(匹配人到地址使用郵政編碼)

如何創建一個新文件,通過朋友進行迭代,查找郵政編碼文件中的相應地址,然後合併相關行,以便製作類似[姓名,房號,街道,鎮,城市,郵編]。

感謝

安迪

回答

0

如果文件不是很大(我假設,有沒有數以百萬計的朋友),你可以同時導入CSV的到內存中的字典,然後做查找基於郵政編碼從一次,然後做一個字典update與另一個的值。

for friend in friends: 
    friend.update(postcodes[friend.postcode]) 

這是假設你將有一個朋友如數組:

friends = [ 
    {'name': 'john smith', 'postcode': '123abc', 'housenumber': 12}, 
    ... 
] 

和郵政編碼字典,如:

postcodes = { 
    '123abc': {'postcode': '123abc', 'street': 'some street name', 'town': 'a town', 'city': 'a city'}, 
    ... 
} 

希望這有助於