2016-03-16 48 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?

希望这会有所帮助。