import numpy
import pandas as pd
import math as m
import os
import datetime
from time import gmtime, strftime
final = "D:/Technical_Data/final.csv"
group_col_indx = 0
group_col = pd.read_csv(final, usecols=[group_col_indx])
keys = group_col.iloc[:,0].unique()
for key in keys:
df_list = []
print key
reader = pd.read_csv(final, chunksize=20000)
for chunk in reader:
good_rows = chunk[chunk.iloc[:,group_col_indx] == key]
df_list.append(good_rows)
df_key = pd.concat(df_list)
file_save = "D:/Technical_Data_by_Date/" + str(key) + ".csv"
df_key.to_csv(file_save, header=False,index=False)
スタックオーバーフローとGoogleの助けを借りて、大きなファイルを1番目の列を使用して複数のファイルに分割するコードを思いついた。 私は8GBのRAMを持っている私のマシン上で実行しています。プログラムは非常に遅いです。どうすればスピードアップできますか?私は過去2日間の研究を行なったし、これは、私はこれが速くなるかどうかはわからない最初の列にファイルを分割するコードを高速化する方法
出力ファイルはいくつありますか?すぐにそれらをすべて開いたままにしておくことは合理的でしょうか? – tdelaney
@tdelaney出力ファイルの数は約600くらいです。将来は3000まで増えます。 – nnnnmmm
はiteratorよりも良いアイデアですか? – nnnnmmm