我有兩個文本文件。在A.TXT,有線像這樣(一個百萬行):python比較兩個大列表並處理一個
991000000019999998,b10000021,
991000000019703408,b10000021,
991000545455435408,b10000045,
991000000029703408,b10000045,
...
第一部分是條形碼(991000000019703408),該第二部分是bib_number(b10000021)。 請注意,bib_number可能會在每行中重複。但條碼是唯一的。所以使用Set()我認爲不好。 在另一個文件b.txt,該信息只有約bib_number(60萬記錄):
b10000021
b10000045
b10000215
...
現在我要比較兩個文件,在a.txt中,如果eachline的bib_number(如b10000045)不在b.txt,這整行需要輸出到c.txt,像(991000000029703408,b10000045,)
我寫這樣的代碼,但我沒有得到reuslt,直到20分鐘。
with open("a.txt", "r") as f1,open("b.txt", "r") as f2,open("c.txt","w") as f3:
total_bb=f1.readlines()
list_match=f2.readlines()
for item_bb in total_bb:
recordList=re.split(",",item_bb)
item_bb_w=(recordList[1])+'\n'
if item_bb_w not in list_match:
f3.write(item_bb)
是否有任何技巧做這兩個大型列表的比較?由於
你關心訂單嗎?如果不是隻是把它們變成'set's,'set1 - set2'會給你所有缺失的數字。 – AChampion