python快速讀取非常大的檔案

2021-09-11 23:27:29 字數 844 閱讀 8179

讀取大檔案是我們平時經常會遇到的問題,我這裡給出兩個比較好的解決方案。第一種

with

open

("test.txt"

)as f:

for line in f:

#do something with data

這種做法非常的簡單。這個**在開啟檔案的過程中,不會一次性讀取全部檔案,而是採用每次讀取一行的方式,類似於buffer機制。

當然我們也可以自己去實現乙個buffer,然後通過協程的方式操作

def

readinchunks

(fileobj, chunksize=

4096):

""" lazy function to read a file piece by piece.

default chunk size: 4kb.

"""while1:

data = fileobj.read(chunksize)

ifnot data:

break

yield data

f =open

('bigfile'

)for chuck in readinchunks(f)

:#do_something(chunk)

f.close(

)

這段**中我們通過每次讀取4k大小的資料,將所有檔案讀取完。

我對於乙個3gb大小的資料進行了讀取測試,分別用時如下:

28.54150631145376 s

28.522545760074877 s

python快速讀取excel

python處理excel資料也是經常需要用到的。本文介紹2種python讀取excel的方法 openpyxl和pandas。事實上,pandas讀取excel比openpyxl更方便,有需要的直接往後拉,看第二種。import openpyxl excel name t1.xlsx wb ope...

Halcon快速讀取點雲的方法

直接上 dev update off filename 1.txt 點雲資料的名稱,txt csv asc等格式的都可以 numcolumns 3 如果點雲的每行資料有3個數字就寫3 只有xyz 的資料 count seconds then open file filename,input file...

Python如何快速讀取資料檔案若干行

用python進行資料分析的童鞋們,經常遇到的問題就是遇到乙個資料檔案,大概幾百兆,而只需要其中若干行資料。那麼我們怎麼辦?最笨的辦法,就是一次性將所有的檔案資料載入到記憶體中再做索引或切片處理,可能一次性載入就需要耗費一點時間。如果重複性地做這種事情,你都會覺得不好意思跟自己交代。1.讀取檔案頭部...