Задать вопрос
@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)
  • Вопрос задан
  • 1316 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Python-разработчик: расширенный курс + нейросети
    12 месяцев
    Далее
  • Skillbox
    Python-разработчик
    10 месяцев
    Далее
  • ProductStar
    Профессия: Python-разработчик
    8 месяцев
    Далее
Решения вопроса 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. Зачем у каждого значения приписан его индекс? Обычного так не делается, пишутся просто сами значения, индекс итак известен.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы