我目前有一个包含20万行的csv文件,每行包含80个条目,由逗号分隔。我尝试使用open()打开csv文件,并将数据附加到一个二维python列表中。当我尝试遍历该列表并将80个条目附加到单个条目时,计算机会冻结。我的代码会产生某种内存问题吗?我应该分批处理数据还是有更有效的方法来完成我想做的事情?
简而言之:打开csv文件,经过200k个条目并将它们从[1, 2, 3, 4, 5,..., 80],[1,..., 80],.... 200k-> [12345 ... 80]转换。[1...80],200k
简而言之:打开csv文件,经过200k个条目并将它们从[1, 2, 3, 4, 5,..., 80],[1,..., 80],.... 200k-> [12345 ... 80]转换。[1...80],200k
import csv
# create empty shells
raw_data = []
concatenate_data = []
def get_data():
counter = 1
# open the raw data file and put it into a list
with open('raw_data_train.csv', 'r') as file:
reader = csv.reader(file, dialect='excel')
for row in reader:
print('\rCurrent item: {0}'.format(counter), end='', flush=True)
raw_data.append(row)
counter += 1
print('\nReading done')
def format_data():
counter = 1
temp = ''
# concatenate the separated letters for each string in the csv file
for batch in raw_data:
for letters in batch:
temp += letters
concatenate_data.append(temp)
print('\rCurrent item: {0}'.format(counter), end='', flush=True)
counter += 1
print('\nTransforming done')
print(concatenate_data[0:10])
temp
只在开始时初始化,这正常吗? - Jean-François Fabre