Pandas處理較大檔案 讀檔案

2021-09-16 13:55:55 字數 1551 閱讀 1642

1、讀取檔案中前部分

通過nrows引數,來設定讀取檔案的前多少行,nrows是乙個大於等於0的整數。

data = pd.read_csv("data.csv",nrows=5)

print(data)

'''a b c

0 0 1 2

1 3 4 5

2 6 7 8

3 9 10 11

4 12 13 14

'''

2、逐塊讀取檔案
#設定chunksize引數,來控制每次迭代資料的大小

chunker = pd.read_csv("data.csv",chunksize=5)

for piece in chunker:

print(type(piece))

#print(len(piece))

將上面的chunksize引數設定為8,那麼第一次迭代的時候包含8條資料,第二次迭代就只能包含2條資料了。

其實,每次進行迭代的時候還是乙個dataframe型別的資料結構。

需要注意的是如果原csv檔案中沒有表頭,會預設將第一行資料作為columns,會發現資料少一條,此時要將不設定columns

data = pd.read_csv(filename, sep='::', names=list('uirt'), index_col=false, usecols=range(len('uirt')),engine = 'python', iterator=true)

loop = true

chunksize = 100000

chunks =

while loop:

try:

chunk = data.get_chunk(chunksize)

except stopiteration:

loop = false

print "iteration is stopped."

data = pd.concat(chunks, ignore_index=true)#連線

3、獲取指定列

只關注其中的某些列,如果把每行都讀取出來,再提取資訊,顯然會增加io量,因此我們可以在讀檔案的時候,定給read_csv()方法的引數,從而提高效率。

file = pd.read_csv('demo.csv',usecols=['column1', 'column2', 'column3'])
4、讀取行

使用read_csv()方法中的nrows引數,設定讀取的行數。

file = pd.read_csv('demo.csv',nrows=1000,usecols=['column1', 'column2', 'column3'])
參考:

pandas 處理大檔案過程

pandas 處理大檔案json,csv檔案過程 對json資料進行清洗 摘出自己需要的字段,business檔案較小 def getbusinessjson file name yelp academic dataset business.json file name2 business.json...

c 處理大檔案

最近寫乙個小工程,要讀寫大檔案,10 20g。開始經過一番考慮,考慮到c函式的高效與操作難度 以前用c的函式,總忘關檔案 直接使用了c 的ifstream,用類操作比較方便。由於隨機讀取檔案位置,所以需要找辦法能讀取到任一位置,這在處理小檔案時沒有問題,但在處理大於4g檔案時出現了問題。以前在lin...

Python 大檔案處理

非記憶體資源可以使用with 在python中逐行讀取大檔案 在我們日常工作中,難免會有處理日誌檔案的時候,當檔案小的時候,基本不用當心什麼,直接用file.read 或readlines 就可以了,但是如果是將乙個10g大小的日誌檔案讀取,即檔案大於記憶體的大小,這麼處理就有問題了,會將整個檔案載...