コンテキストを設定するために、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秒であるため、最短の時間を意味します。