在python内存中加载100个总大小为12GB的CSV文件的速度比我的代码快



我有100个.csv文件,每个文件的大小从50到800MB不等。我正在使用此代码将它们加载到内存中:

import csv
import os
import time
mylist = []
start = time.time()
for csv_file in sorted(os.listdir('myfolder')):
with open('myfolder' + csv_file, "r") as inputfile:
data = csv.reader(inputfile)
for row in data:
mylist.append(row[1])
print("elapsed {}".format(time.time()-start))

有了这个代码,在Mac Air M1上需要156秒。这对我来说是个很大的问题,因为我计划用这些数据运行许多测试场景,对于每个场景,我都必须等待数据加载。有没有一些技术或库(panda?(可以用来加速内存加载?

如果您注意到,我只从每行中选择一个特定的值(row[1](。我想将mylist数组存储到mylist.json文件中,然后每次都加载该文件。加载mylist.json文件需要35秒,而原始代码需要156秒。仍然缓慢,但进展

最新更新