如何用python對乙個大的txt檔案進行逐行查重,並將查重過的資料存到乙個新的txt檔案中?

時間 2021-05-10 09:36:06

1樓:yiridium

就演算法而言,

直接按行讀取檔案,然後計算每行的hash值作為key,如果key已經存在並且value不為空,就說明跟之前的重複了;否則,說明是第一次出現,就輸出到新的檔案中,並且將hash值作為key,插入字典中。直到檔案結束。

處理大檔案的方法就是直接

with open(fileName,'r') as f:

for lines in f:

然後python 內部會自己建立緩衝,避免記憶體溢位。

如果是非常大的檔案,分布式處理。

2樓:掃地僧

如果用open(FileName).read(),檔案很大將爆滿記憶體,

不過,不是提供了另外乙個方法。

with open(FileName) as f:

for line in f.readlines():

這個line就是每一行的資料,你可以對這個line進行hash作為key,line作為value.這裡你可以重新開啟乙個檔案,將這個line寫進去

這樣子就省記憶體啦

3樓:黃哥

1、如果檔案在1G 左右,記憶體大的話,直接用字典。讀一行處理一行。

2、如果檔案大,可以切分為小檔案,按照1 的方式處理,將沒有重複的小檔案合併再處理一次。

如何變成乙個大格局的人?

netkiller 格局就是具備高視點,寬視野,深洞察,能夠跨越時間和空間去看事物,同時不受思維定勢的限制。思維定勢又稱 習慣性思維 是指人們按習慣的 比較固定的思路去考慮問題 分析問題,表現為在解決問題過程中作特定方式的加工準備。它阻礙了思維開放性和靈活性,造成思維的僵化和呆板。這使得人們不能靈活...

如何用python做乙個簡單的輸入輸出互動介面

超燃脂 如果非要限定Python,那就是自帶的tk或者pyqt等。不過這麼弄的不是太美觀,不夠好用,還不如用html5,如果複雜直接用前端框架vue 後端Python fastapi,這樣既美觀又實用,用的還是PYTHON。以前PYTHON後端用Django和flask,現在fastapi興起之後,...

如何對乙個大文字進行按每行去重操作

myth TXT文字去重 TXT文字合併 TXT檔案求並集 測試資料大小 20億行130GB的資料只需60分鐘平均去重速度 2000000000 行 3600 秒 555555 行 秒 55萬行 秒 這個速度是網際網路上已知單機版家用型電腦去重速度最快的去重工具軟體 本軟體特點及其描述 1.平均處理...