Python分批讀取數據(學習筆記總結,非原創)



import
pandas as pd import numpy as np # 定義一個取數的函數,因為數據量大,分批次取 def read_Data(filePath,size=5000): #兩個參數(路徑,數據一次提取的行數)size=5000可以根據自己的實際情況調整 df = pd.read_csv(filePath,header=0,iterator=True) # 讀取數據(路徑,從0行開始,使用迭代器iterator,根據取數的大小,一次一次來取 chunks=[] #保存數據塊列表,存儲每一次獲取到的數據 loop=True #循環起始值 while loop: try: chunk=df.get_chunk(size)[['字段1','字段2','字段3']]# 【數據源.get_chunk(n)】獲取數據源的n行數據 chunks.append(chunk) except StopIteration: # 當出現StopIteration時,迭代器沒有數據可取了 loop = False # loop = False,循環停止 data=pd.concat(chunks,ignore_index=True) return data # 注意return的位置,不要出去了 # 建立一個空的列表,依次通過定義的函數read_Data添加數據,取出來的數都是series的一維列表;最后用concat,各個列表連接起來變成一個數組的形式 data = [] data.append(read_Data(filePath='文件1路徑')) data.append(read_Data(filePath='文件2路徑')) data.append(read_Data(filePath='文件3路徑')) data.append(read_Data(filePath='文件4路徑')) data=pd.concat(data,ignore_index=True) data

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM