我正在嘗試從抓取的資料中洗掉重復的行和包含某些單詞的行。我搜索了各種代碼,但它們不起作用:(
這是代碼。只有第一部分有效,即洗掉重復行:
openFile = open("links.txt", "r")
writeFile = open("updatedfile.txt", "w")
#Store traversed lines
tmp = set()
for txtLine in openFile:
#Check new line
if txtLine not in tmp:
writeFile.write(txtLine)
#Add new traversed line to tmp
tmp.add(txtLine)
openFile.close()
writeFile.close()
sleep(5)
with open("updatedfile.txt", "r") as fp:
lines = fp.readlines()
with open("updatedfile.txt", "w") as fp:
for line in lines:
if line.strip("\n") != "search":
fp.write(line)
這是links.txt檔案
https://twitter.com/search?q=#BTC&src=hashtag_click
https://twitter.com/search?q=#ADA&src=hashtag_click
https://twitter.com/search?q=#LTC&src=hashtag_click
https://twitter.com/search?q=#CAKE&src=hashtag_click
https://twitter.com/Marie62943337
https://twitter.com/Marie62943337
https://twitter.com/Fathur0501
https://twitter.com/Fathur0501
https://twitter.com/BogdanMar93
https://twitter.com/BogdanMar93
https://t.[spaced because body cannot contain short url]co/74ZzkVwa2W
https://t. co/Gv2tyiWfAk
我希望輸出是:
https://twitter.com/Marie62943337
https://twitter.com/Fathur0501
https://twitter.com/BogdanMar93
謝謝你的幫助。
uj5u.com熱心網友回復:
檢查此代碼。我認為它有效
with open("test.txt", "r") as fp:
lines = fp.readlines()
fp.close()
unique = set()
with open("test.txt", "w") as fp:
for line in lines:
if "search" not in line and line not in unique and "twitter.com" in line:
fp.write(line)
unique.add(line)
請在下面的評論中分享查詢。
uj5u.com熱心網友回復:
也許你想用這個,用'in':
lines = ['https://twitter.com/search?q=#CAKE&src=hashtag_click', 'https://twitter.com/Marie62943337']
for line in lines:
if 'search' not in line:
print(line)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/381147.html
上一篇:SeleniumAttributeError:型別物件“By”在獲取輸入時沒有屬性“name”
下一篇:漲工資不是程式員跳槽的理由
