讀取大檔案是我們平時經常會遇到的問題,我這裡給出兩個比較好的解決方案。第一種
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.讀取檔案頭部...