Мне нужно хранить огромное количество числовых данных, разделенных запятыми, в текстовом файле. Этот текстовый файл будет выводом скрипта, который будет выполнять вычисления.
Моя проблема заключается в методе - он кажется слишком запутанным и включает в себя множество временных файлов (у меня их пять), которые, как я гарантировал, содержат точное количество строк для каждой точки данных и которые будут только быть объединены в один файл после завершения всех расчетов. Мой код настолько запутан, что мне даже приходится использовать deque один раз, чтобы вырезать лишние строки из временного файла.
Я использую этот шаблон несколько раз на протяжении всего сценария
o = open('%s_outcombined.xvg'%outfile, 'a+')
fh = open('%s_outfinal.xvg'%outfile, 'rb')
fh2 = open('%s_outfor_diff_calcs.xvg'%outfile, 'rb')
for line in fh.readlines():
o.write(line.strip('\r\n') + fh2.readline().strip('\r\n') + '\n')
fh.close()
fh2.close()
o.close()
для создания и объединения указанных временных файлов.
Ожидаемые результаты:
Отдельный текстовый файл с числовыми значениями, разделенными запятыми - он будет получен из расчетов, выполненных для входного файла 12 ГБ.
Метод, который не предусматривает использование нескольких временных файлов (или, если есть способ сделать их скрытыми, мне бы очень хотелось знать)
Метод хранения данных, который не занимает много времени
Фактические результаты:
- Несколько временных файлов, грязный код
Мне интересно, занимает ли меня больше времени, если полагаться на списки для хранения огромного количества данных (размер входного файла для расчета составляет 12+ ГБ), или же мне следует придерживаться моего текущего метода, ИЛИ если у вас есть лучшие идеи Я был бы очень признателен.