我正在解析6k csv文件,将它们合并为一个。我需要他们联合分析和训练ML模型。文件太多了,我的电脑只是简单地把它们连接起来就把内存用完了。
S = "
for csv_files:
# read the csv file
#df = df.append(pd.read_csv(f))
s = s + open(f, mode ='r').read()[32:]
print(f)
file = open('bigdata.csv', mode = 'w')
file.write (s)
file.close ()
我需要一种方法来创建一个单一的数据集从所有文件(60gb)训练我的ML模型
我相信这可能会有帮助:
file = open('bigdata.csv', mode = 'w')
for f in csv_files:
s = open(f, mode='r').read()[32:]
file.write(s)
file.close()
相反,您的原始代码至少需要与输出文件大小相同的内存,它是60gb,可能比您的计算机内存还大。
然而,如果有一个单一的输入文件可能会耗尽您的内存,那么这个方法也会失败,在这种情况下,您可能需要逐行读取每个csv文件并将它们写入输出文件。我没有写这个方法,因为我不确定你的神奇数字32
。