Xandr24
@Xandr24
учиться и еще раз учиться

Как записать в csv список python (состоит из предложений с разными символами)?

Добрый день всем.
Задача: выводить анекдоты из БД.
Спарсил сайт с помощью bs4
Добавил все анекдоты в список
Список состоит из 54 анекдотов, которые вывожу и все норм получаю
Затем я изменил список на словарь, чтобы в дальнейшем записать в csv
Затем записал все в csv
file = '/resources/data/jokes.csv'
with open(file, 'w', newline='') as f:
    writer = csv.DictWriter(f, dict_for_export_to_db.keys())
    writer.writeheader()
    writer.writerow(dict_for_export_to_db)

У меня получилась запись, но беда в том, что я не могу добавить этот файл в БД в связи с тем что индексы легли по оси 1(колонки). А мне, чтобы залить в БД надо чтобы каждый анекдот был в разных строках и одной колонке.
Подскажите пожалуйста, как мне транспонировать csv или как мне изначально записать данные в строки, а не в столбцы?
  • Вопрос задан
  • 319 просмотров
Решения вопроса 2
phaggi
@phaggi Куратор тега Python
лужу, паяю, ЭВМы починяю
Что касается собственно проблемы, попробуйте вставить в конце каждой строки \n
Ответ написан
Vindicar
@Vindicar
RTFM!
Хммм, так, ещё разок. Тебе нужно сделать из спискамногострочных текстов csv, и каждый фрагмент текста должен быть отдельным значением в одном и том же "столбце", так?
Вообще я бы поискал возможность избежать его использования - csv не умеет работать с многострочными текстами. Тебе придётся либо как-то экранировать символы перевода строки. Более того, нет никаких гарантий, что в тексте не встретятся служебные символы для csv (кавычки, запятые, точки с запятой).
Питон имеет несколько модулей для работы с БД, как встроенных так и сторонних. Нет ли возможности импортировать данные немедленно?
Если нет, нельзя ли попробовать использовать другой формат? Скажем, формат .sql файлов позволяет экранировать служебные символы в строках. То же самое относится к json.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Xandr24
@Xandr24 Автор вопроса
учиться и еще раз учиться
Вообще я бы поискал возможность избежать его использования - csv не умеет работать с многострочными текстами.

Согласен, это ппц какой-то
Нет ли возможности импортировать данные немедленно?

С радостью, уже ищу эту возможность. Не подскажешь в кратце как и с помощью чего сделать это?
Ответ написан
Ваш ответ на вопрос

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

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