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)
在堆棧溢出和谷歌的幫助下,我想出了使用第一列將大文件分割成多個文件的代碼。 我在我的機器上運行它有8 GB的RAM。該程序運行速度非常慢。我如何加快速度?我做了2天的研究,這是我想出的腳本如何加快第一列上分割文件的代碼
您預計會有多少個輸出文件?將它們全部打開是否合理? – tdelaney
@tdelaney輸出文件的數量在600左右,將來會達到3000. – nnnnmmm
正在使用groupby over iterator更好的想法嗎? – nnnnmmm