1. 程式人生 > >【機器學習】基於python對大資料量CSV進行操作

【機器學習】基於python對大資料量CSV進行操作

在我們日常學習之中,往往會遇到各種各樣的資料。但有時候其龐大的資料量,使得我們無法使用一般的辦公軟體進行操作,與此同時直接將所有資料取到記憶體之中,也有存在溢位的風險。所以,在這種情況下,採用逐行存取的方式對資料進行操作是十分必要的。本文簡單的使用python最為基礎的函式實現以下功能。希望接下來讀者,可以根據本文使用適合自己的方式進行資料清洗。

import re
if __name__ == '__main__':
    i = 0
    p = 0
    with open('train_original.csv', 'rb') as fin:
        with open('out.csv', 'w') as fout:
            while True:
                line = fin.readline()
                i = i + 1
                linestr = str(line)
                if re.search(',1,', linestr) == None:
                    fout.writelines(linestr+"\n")
                    p = p + 1
                if not line:
                    break
            print(i, p)

我們採用逐行的方式讀取檔案,通過line進行操作,將lines轉化為字串,通過re的search函式,判斷資料是否應該保留。最後使用fout將資料輸出。但是,這個方法只適用於txt以及csv檔案。其餘的檔案,可能還需要具體問題具體分析吧!