Возникла проблема с разбором извлеченного текста из html с BeautifulSoup и записью его в файл .csv.
Анализ страницы с данными, такими как Заголовок , Дата , Описание , Информация
У меня есть текстовый пример Описание с точной структурой, проанализированной с веб-страницы.У него есть тетеги и двойные пробелы:
<p>Hello World <br/>
<br/>
Key points <br/>
<br/>
- Point number one <br/>
- Point number two <br/>
- Point number three </p>
Так что мне удалось извлечь его как текст, используя .text.strip () Теперь это:
Hello World
Key points
- Point number one
- Point number two
- Point number three
Затем я хочу сохранить результаты в файл .csv, каждый результат в новую ячейку:
Title, Date, Description, Info
Title, Date, Description, Info
Title, Date, Description, Info
Для этого я создаю файл, устанавливаю заголовки и начинаю запись в него с помощью цикла FOR * 1026.*
filename = "scraping.csv"
f = open(filename, "w")
headers = "Title, Date, Description, Info\n"
f.write(headers)
for article in articles:
...
f.write(title + "," + date + "," + description + "," + info + "\n")
f.close()
И в конце у меня есть файл .csv со всей информацией.Проблема в том, что когда description передается в файл, он разбивает все строки.
Title, Date,
Des
crip
tion, Info
Title, Date,
Des
crip
tion, Info
Title, Date,
Des
crip
tion, Info
Если я записываю в файл все, кроме description , все хорошо.
Как сохранить это описание в ячейке и игнорировать все нежелательные символы новой строки / переноса строки?
ОБНОВЛЕНИЕ :
Основано на предложениис @ ewwink эта комбинация помогла удалить нежелательные разрывы строк
description = re.sub(r"[\r\n]+", " ", description)
К сожалению, она была напечатана в ячейку файла .csv одной строкой без форматирования.Но я смог сделать новые строки в файле .csv с невидимым символом «Пиккоу», заменив \ r \ n
pilcrow = """
"""
description = re.sub(r"[\r\n]+", pilcrow, description)