當數據文件過大時,由于計算機內存有限,需要對大文件進行分塊讀?。?/p>
import pandas as pdf = open('E:/學習相關/Python/數據樣例/用戶側數據/test數據.csv')reader = pd.read_csv(f, sep=',', iterator=True)loop = TruechunkSize = 100000chunks = []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()函數的iterator參數等于True時,表示返回一個TextParser以便逐塊讀取文件;
chunkSize表示文件塊的大小,用于迭代;
TextParser類的get_chunk方法用于讀取任意大小的文件塊;
StopIteration的異常表示在循環對象窮盡所有元素時報錯;
concat()函數用于將數據做軸向連接:
pd.concat(objs, axis=0, join='outer', join_axes=None, ignore_index=False, keys=None, levels=None, names=None, Verify_integrity=False)
常用參數:
objs:Series,DataFrame或者是Panel構成的序列list;
axis:需要合并連接的軸,0是行,1是列;
join:連接的參數,inner或outer;
ignore=True表示重建索引。
以上這篇通過Pandas讀取大文件的實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林站長站。
新聞熱點
疑難解答