@irina222222

Как записать в csv на новую строку?

Здравствуйте! Я записываю строку в csv. Вот, что получается

13,2да,3нет,4впредкушение,53,654,7русский,13,2да,3нет,4влюбленность,50,62,7русский


Но я хочу, чтобы записывалось с новой строки

13,2да,3нет,4впредкушение,53,654,7русский
13,2да,3нет,4влюбленность,50,62,7русский


Мой код:
with open('document.csv', 'a', newline='') as fd:
        fd.write(out)
  • Вопрос задан
  • 38 просмотров
Решения вопроса 2
yupiter7575
@yupiter7575
Python программист
Добавляете \n, где хотите чтобы был перенос
Ответ написан
@o5a
data = [
['13','2да','3нет','4впредкушение','53','654','7русский'],
['13','2да','3нет','4влюбленность','50','62','7русский']
]

out = [','.join(row)+'\n' for row in data]

with open('document.csv', 'a') as fd:
    fd.writelines(out)

Но вообще для работы с csv есть встроенная библиотека, через нее удобнее работать напрямую, и можно задавать различные параметры файла (символ разделителя, обрамление кавычками и т.п.)
import csv

data = [
['13','2да','3нет','4впредкушение','53','654','7русский'],
['13','2да','3нет','4влюбленность','50','62','7русский']
]
with open('document2.csv', 'w', newline='') as fd:
    writer = csv.writer(fd)
    writer.writerows(data)


И вообще какое-то странное у Вас представление о формате csv. Зачем у каждого значения приписан его индекс? Обычного так не делается, пишутся просто сами значения, индекс итак известен.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы