Перезаписывается одна и та же строка в CSV файле
Написал вот такой код
from csv import writer
with open('moscow.csv', 'r', encoding = 'utf-8') as source:
for line in source.readlines():
line = line.split(',')
with open('all.csv', 'w', encoding = 'utf-8') as base:
writer_obj = writer(base)
writer_obj.writerow(line)
Вместо того, чтобы добавлять список с новой строки, перезаписывается одна и та же строка. Как это исправить?
Ответы (1 шт):
Автор решения: CrazyElf
→ Ссылка
Открывайте оба файла одновременно. Сейчас вы открываете файл на запись внутри цикла и он перезаписывается на каждой итерации. Ну и readlines тут излишне, только лишнюю память съест:
with open('moscow.csv', 'r', encoding = 'utf-8') as source,
open('all.csv', 'w', encoding = 'utf-8') as base:
writer_obj = writer(base)
for line in source:
line = line.split(',')
writer_obj.writerow(line)