通過Pandas讀取大文件的實(shí)例
當(dāng)數(shù)據(jù)文件過大時(shí),由于計(jì)算機(jī)內(nèi)存有限,需要對(duì)大文件進(jìn)行分塊讀?。?/strong>
import pandas as pd
f = open('E:/學(xué)習(xí)相關(guān)/Python/數(shù)據(jù)樣例/用戶側(cè)數(shù)據(jù)/test數(shù)據(jù).csv')
reader = pd.read_csv(f, sep=',', iterator=True)
loop = True
chunkSize = 100000
chunks = []
while loop:
try:
chunk = reader.get_chunk(chunkSize)
chunks.append(chunk)
except StopIteration:
loop = False
print("Iteration is stopped.")
df = pd.concat(chunks, ignore_index=True)
print(df)
read_csv()函數(shù)的iterator參數(shù)等于True時(shí),表示返回一個(gè)TextParser以便逐塊讀取文件;
chunkSize表示文件塊的大小,用于迭代;
TextParser類的get_chunk方法用于讀取任意大小的文件塊;
StopIteration的異常表示在循環(huán)對(duì)象窮盡所有元素時(shí)報(bào)錯(cuò);
concat()函數(shù)用于將數(shù)據(jù)做軸向連接:
pd.concat(objs, axis=0, join='outer', join_axes=None, ignore_index=False, keys=None, levels=None, names=None, Verify_integrity=False)
常用參數(shù):
objs:Series,DataFrame或者是Panel構(gòu)成的序列l(wèi)ist;
axis:需要合并連接的軸,0是行,1是列;
join:連接的參數(shù),inner或outer;
ignore=True表示重建索引。
以上這篇通過Pandas讀取大文件的實(shí)例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
python輕松辦公將100個(gè)Excel中符合條件的數(shù)據(jù)匯總到1個(gè)Excel里
這篇文章主要為大家介紹了python輕松辦公將100個(gè)Excel中符合條件的數(shù)據(jù)匯總到1個(gè)Excel里示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03
python實(shí)現(xiàn)對(duì)csv文件的列的內(nèi)容讀取
今天小編就為大家分享一篇python實(shí)現(xiàn)對(duì)csv文件的列的內(nèi)容讀取,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-07-07
python利用拉鏈法實(shí)現(xiàn)字典方法示例
這篇文章主要介紹了python利用拉鏈法實(shí)現(xiàn)字典的方法,文中給出了詳細(xì)的示例代碼,相信對(duì)大家具有一定的參考價(jià)值,需要的朋友可以們下面來一起看看吧。2017-03-03

