pythonは速く超大型txtファイルをcsvに保存した例を示します。
今日のプロジェクトの需要があります。txtファイルをcsvに変えて、txtの間はスペースで区切られています。csvになる時はスペースをカンマに変えなければなりません。ネットで探しているバージョンは3行のコードだけが必要です。特に鋭いです。
それから私は5600 W行の1.2 Gのtxtテキストを交換しました。上記のコードで変換して、コンピュータは直接カードが死にました。
その理由は上記のコードがすべてのtxtをメモリにロードしてから変換するので、コンピュータのメモリが無くなります。
そしてデータをカットする方法を考えました。具体的には次のようになります。
注意します。get_chunk()の中のパラメータはバイト数ではなくファイルの行数を表します。
以上のpythonは急速に大規模txtファイルをcsvに転送した例は、小編集が皆さんに共有している内容の全てです。参考にしていただければと思います。どうぞよろしくお願いします。
import numpy as np
import pandas as pd
data_txt = np.loadtxt('datas_train.txt')
data_txtDF = pd.DataFrame(data_txt)
data_txtDF.to_csv('datas_train.csv',index=False)
上記のdatas_train.txtは100 MB未満で、560 W行のデータは3分間で変換済みです。それから私は5600 W行の1.2 Gのtxtテキストを交換しました。上記のコードで変換して、コンピュータは直接カードが死にました。
その理由は上記のコードがすべてのtxtをメモリにロードしてから変換するので、コンピュータのメモリが無くなります。
そしてデータをカットする方法を考えました。具体的には次のようになります。
import numpy as np
import pandas as pd
train_data = pd.read_table('big_data.txt',iterator=True,header=None)
while True:
try:
chunk = train_data.get_chunk(5600000)
chunk.columns = ['user_id','spu_id','buy_or_not','date']
chunk.to_csv('big_data111.csv', mode='a',header=False,index = None)
except Exception as e:
break
ここで私はデータを小さいサイズに分けました。一つのデータは560万行です。11回に分けてロードすれば全部ロードできます。速度も速いし、全部で5分ぐらいかかりました。注意します。get_chunk()の中のパラメータはバイト数ではなくファイルの行数を表します。
以上のpythonは急速に大規模txtファイルをcsvに転送した例は、小編集が皆さんに共有している内容の全てです。参考にしていただければと思います。どうぞよろしくお願いします。