2016-03-16 113 views
0

我有一個包含一些重複項的Json文件,我正在尋找刪除它們的方法。我的Json文本的開始的兩個例子:刪除Json文件中的重複項

"date": "May 16, 2012 Wednesday", "body": "THE future of one of Scotland's most important listed buildings .... World Monuments Fund. o See a picture gallery of Mavisbank House at scotsman.com/scotland ", "title": "Rescue deal to bring Adam mansion back from brink" 

"date": "May 16, 2012 Wednesday", "body": "The future of one of Scotland's most important listed buildings .... World Monuments Fund.", "title": "Rescue deal to bring Adam mansion back from brink" 

我已經削減中間的文字,由於它的擴展和無關緊要,因爲他們完全匹配。正如我們所看到的文字幾乎100%匹配,除了開始THEThe和最後(額外句子:o See a picture gallery of Mavisbank House at scotsman.com/scotland)。在這一行中,我會想方設法找到重複項和II)刪除重複項之一(注意它們也可以是多個重複項)。我剛開始用Python進行編程,我不確定如何處理這個問題。任何幫助真的很感激!

親切的問候!

+6

「正如我們可以看到文本幾乎100%匹配」 - 但是**完全**構成重複? –

+1

如果這些行可以與_完全相同,您可以使用'set'來消除重複項。 _Partly_相等的字符串仍然被認爲是不同的。您可以嘗試計算漢明距離,以查看字符串的「多少」不同,然後決定是否刪除它們。 – ForceBru

回答

0

我認爲如果您先將json字符串轉換爲模型對象會更好。

之後,您可以簡單地迭代元素並刪除重複項(到任何級別)。您可以在比較每個單獨元素時忽略大小寫。

此外,您可以簡單地將每個body/title元素轉換爲一致的大小寫,並將它們添加到一個重複檢查的集合中,同時迭代,正如@ForceBru在評論中指出的那樣。

以下鏈接將指示您在適當的方向爲json對象轉換。

Is there a python json library can convert json to model objects, similar to google-gson?

希望這會有所幫助。