我有一個巨大的文本文件(12GB)。這些行是製表符分隔的,第一列包含一個ID。對於每個ID我想做點什麼。因此,我的計劃是從第一行開始,逐行閱讀第一行,直到達到下一個ID。Python - 如何讀取文本文件中的特定行?
start_line = b
num_lines = 377763316
while b < num_lines:
plasmid1 = linecache.getline("Result.txt", b-1)
plasmid1 = plasmid1.strip("\n")
plasmid1 = plasmid1.split("\t")
plasmid2 = linecache.getline("Result.txt", b)
plasmid2 = plasmid2.strip("\n")
plasmid2 = plasmid2.split("\t")
if not str(plasmid1[0]) == str(plasmid2[0]):
end_line = b
#do something
該代碼有效,但問題是linecache似乎每次都會重新加載txt文件。如果我不提高性能,代碼將運行數年。
我很感謝您的幫助,如果您有一個好主意如何解決問題或知道替代方法!
感謝, 菲利普
行是製表符分隔的?聽起來像列向我? – RuDevel
請顯示所有代碼。什麼是'linecache' – eguaio
@eguaio:https://docs.python.org/3/library/linecache.html – cdarke