В Windows всегда открывайте файлы в двоичном режиме («rb» или «wb»), прежде чем передавать их в csv.reader или csv.writer.
Хотя файл представляет собой текстовый файл, CSV считается задействованным библиотеками двоичным форматом с разделением записей "\ r \ n". Если этот разделитель записан в текстовом режиме, среда выполнения Python заменяет «\ n» на «\ r \ n», следовательно, «\ r \ r \ n», который вы наблюдали в своем файле.
См. этот предыдущий ответ .
Этот ответ был опубликован в 2010 году и не решает проблему в Python3.
Одним из возможных исправлений в Python3, как описано в ответе @ YiboYang, является открытие файла с параметром newline
, для которого задана пустая строка:
f = open(path_to_file, 'w', newline='')
writer = csv.writer(f)
...
...