删除部分相似性的推文

时间:2018-04-23 16:46:18

标签: python python-3.x csv twitter nlp

我是python的新手,也是stackoverfow的新手。我有一个包含三列(ID,Date_Of_creation,Text)的csv文件。文件中有近25,000个条目。我必须删除重复的推文(文本列),下面的代码可以正常删除重复项:

import csv

csvInputFile = open('inputFile.csv', 'r',encoding="utf-8", newline='')
csvOutputFile = open('outputFile.csv', 'w', encoding="utf-8", newline='')

csvReader = csv.reader(csvInputFile)
csvWriter = csv.writer(csvOutputFile)
cleanData = set()

for row in csvReader:
    #print(row[3])
    if row[3] in cleanData: continue
    cleanData.add(row[3])
    csvWriter.writerow(row)

print(cleanData)
csvOutputFile.close()
csvInputFile.close()

此代码正在删除具有相应IDS和创建日期的所有重复项。 作为分析的第二步,我注意到有一些转推在数据集中没有原始推文。我想保留那些转发。 简单来说,我想从Text列中删除所有重复项,无论是推文还是转发。例如:

  

"他们在现阶段处理这种情况并非易事:......"

     

" RT @ReutersLobby:他们在现阶段处理这种情况并非易事:......"

正如上面的推文和转推显示" RT @ReutresLobby:"转推是额外的。因此上面的代码不会从最终集中移除此转发。我想删除所有这样的推文,这些推文是另一条推文的副本,因为重点是推文的文本和创建时间而不是其他字段。 我试图搜索它但在论坛上找不到任何相关内容。我希望有人能帮我解决这个问题。

1 个答案:

答案 0 :(得分:0)

我认为这是一个非常快速的解决方法:

我添加的条件显示,当剥离转发前缀时,推文已经存在于已清理的集合中。