pandas讀取大文件時memoryerror的解決辦法


再用pd.read_csv讀取大文件時,如果文件太大,會出現memoryerror的問題。

 

解決辦法一:pd.read_csv的參數中有一個chunksize參數,為其賦值后,返回一個可迭代對象TextFileReader,對其遍歷即可

reader = pd.read_csv(file_path, chunksize=20)  # 每次讀取20條數據

 1 import pandas as pd 
 2 
 3 def knn():
 4     # 讀取數據
 5     file_path = './facebook/train.csv'
 6     
 7     reader = pd.read_csv(file_path, chunksize=20)    # 每塊為20條數據(index)
 8 
 9     for chunk in reader:
10         print(chunk)
11         break
12 
13 if __name__ == '__main__':
14     knn()

代碼執行結果如下:

 

 解決辦法二:pd.read_csv的參數中有一個iterator參數,默認為False,將其改為True,返回一個可迭代對象TextFileReader,使用它的get_chunk(num)方法可獲得前num行的數據

import pandas as pd 

def knn():
    '''完成k近鄰算法'''

    # 讀取數據
    file_path = './facebook/train.csv'

    reader = pd.read_csv(file_path, iterator=True)
    chunk = reader.get_chunk(5)    # 獲取前5行數據
    print(chunk)


if __name__ == '__main__':
    knn()

代碼執行結果如下:

 


免責聲明!

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



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