为了设置上下文,我有一个包含 200-300 个文件的目录,每个文件的大小范围(行数)。我粘贴文件并将它们导出到 csv 文件。我想我上次运行它时 csv 文件有超过 340,000 行。最重要的是,前 8 个文件不断被写入,所以有时在解析时会丢失数据。
现在,每个文件都是这样设置的:
DateTime Message Action ActionDetails
我有代码可以浏览所有文件,解析它们,然后输出到 csv 文件:
for infile in listing:
_path2 = _path + infile
f = open(_path2, 'r')
labels = ['date', 'message', 'action', 'details']
reader = csv.DictReader(f, labels, delimiter=' ', restkey='rest')
for line in reader:
if line.get('rest'):
line['details'] += ' %s' % (' '.join(line['rest']))
out_file.write(','.join([infile,line['date'], line['message'], line['action'], line['details']]) + '\n')
f.close()
out_file.close()
我想知道复制前 8 个文件的“最佳”方法是什么,这样我在解析时就不会丢失数据。最好我的意思是花费最少的时间,因为目前运行 python 脚本的总时间约为 35-45 秒。