2013-04-18 95 views
0

我有一些CSV文件需要與一個「主列表」進行比較,並根據唯一標識確定這些其他文件是否包含該鍵的條目。在Python中處理多個文件,並在字段上匹配

在Python中最簡單的方法是什麼? I.e你建議我將數據讀入哪種結構,並且你會如何建議我重複它?

這裏是我正在尋找的數據和輸出的一個例子。

**Master List** 

Unique ID : File Name : File Version : Responsible Party 

J578221 : Expander : 1.23 : Joe Bloggs 

KK89821 : Top : 0.9 : Mike Smith 


**Location X** 

Region : File Name : Unique ID 

USA : Acme Expander : J578221 

USA : Acme Tail : MK33431 

**Location Z** 

Reqion : File Name : Unique ID : Date Added 

China : Expander : J578221 : 03-04-2012 

HK : Acme Top : KK89821 : 06-07-2012 

**Output:** 

Unique ID : File Name : File Version : Responsible Party : In Location X : In Location Z 

J578221 : Expander : 1.23 : Joe Bloggs : YES : YES 

KK89821 : Top : 0.9 : Mike Smith : NO : YES 
+0

你嘗試過什麼嗎?出現了什麼問題? – 2013-04-18 12:20:22

回答

0

最簡單的方法可能是使用正則表達式(see documentation here)來檢索主文件中的每一行的關鍵。 (您可能需要首先評估文件的結構,如果Unique-ID的位置發生更改,則需要修改表達式。)

將此ID列表存儲在字典中作爲鍵,並使用列表作爲值,指示包含每個主密鑰的文件。

之後您可以過濾字典中的一個或多個文件的ID(Keys)或查找包含一個特定ID的文件。

+0

我最終將主列表的鍵讀入字典中,ID爲鍵,列表爲值(如我的邁克爾所示),並以相同的方式將其他兩個文件讀入字典。然後遍歷主列表字典,執行如下操作: if id in sort(masterdict): 如果id在locationxdict和id在locationzdict中: ... process ... – user2293577 2013-04-24 10:45:39