【发布时间】:2018-10-03 19:06:34
【问题描述】:
我是 python 的新手,也是 stackoverlfow 的新手。我有一个包含三列(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 和创建日期的重复项。 作为分析的第二步,我注意到有一些转推在数据集中没有原始推文。我想保留那些转发。 简单来说,我想从文本列中删除所有重复的内容,无论是推文还是转推。例如:
“他们在这个阶段处理这种情况并不容易:……”
“RT @ReutersLobby:他们在这个阶段处理这种情况并不容易:……”
正如上面的推文和转推显示,“RT @ReutresLobby:”在转推中是额外的。所以上面的代码不会从最终集合中删除这个转推。我想删除所有此类推文的副本,因为重点是推文的文本和创建时间,而不是其他字段。 我试图搜索它,但在论坛上找不到任何相关内容。我希望有人能帮助我解决这个问题..
【问题讨论】:
标签: python python-3.x csv twitter nlp