Обновление строк в файле не поддерживается в большинстве файловых систем (строка в файле - это просто данные, заканчивающиеся символом новой строки, следующая строка начинается сразу после этого).
На мой взгляд, у вас есть два варианта:
- Пусть ваши циклы генерации данных будут генераторами, чтобы они не занимали много памяти - вы получите данные для каждой строки "вовремя"
- Использовать базу данных (sqlite?) И обновлять там строки. Когда вы закончите - экспортируйте в CSV
Небольшой пример для первого метода:
from itertools import islice, izip, count
print list(islice(izip(count(1), count(2), count(3)), 10))
Это напечатает
[(1, 2, 3), (2, 3, 4), (3, 4, 5), (4, 5, 6), (5, 6, 7), (6, 7, 8), (7, 8, 9), (8, 9, 10), (9, 10, 11), (10, 11, 12)]
хотя count
генерирует бесконечную последовательность чисел