2017-02-20 98 views
1

我正在爲應該讀取兩個csv文件的MapReduce程序編寫reducer:all-bills.csvopen-bills.csv。我想要做的是從所有賬單中刪除開立票據的價值,以便我可以得到所有的付款賬單。如何從字典中刪除兩個重複項?

我所做的是將所有條目添加到我的reducer中的字典中。如何刪除發生兩次或更多的條目,以便我的字典中只剩下付費賬單?

+0

你能提供一個例子嗎?你如何組織數據? .csv文件僅適用於一個人嗎? – kbunarjo

+0

在一家餐館的多個人。例如,沒有支付帳單的Theres'A',因此他出現在all-bills.csv和open-bills.csv中。如果我創建一個字典,使得A成爲關鍵字,那麼我將在我的字典中從這兩個文件中獲得兩個條目。如果發生這種情況,我想刪除它們,這樣我就只剩下那些付過賬單的人了。 – Shehryar

+0

您的csv文件中的數據是否圍繞(唯一)賬單ID進行組織?或圍繞客戶ID?您的命名意味着csv文件中的記錄如下所示:billID,custID,bill-detail-1,bill-detail-2等 - 是這樣嗎?順便說一句,如果只有一個csv文件,可以更容易地顯示賬單狀態「付費」,「打開」,「其他」等附加列'賬單狀態'... – Denis

回答

0

試試這個:

{k: v for k, v in all_bills.items() if k not in open_bills}