Найти - Пользователи
Полная версия: Вопрос по модулю csv. Вывод отпарсенного в csv-файл
Начало » Python для новичков » Вопрос по модулю csv. Вывод отпарсенного в csv-файл
1
spacesnake
Доброго времени суток! Прошу дать совет:
Есть код:
 import csv
import urllib.request
from bs4 import BeautifulSoup
USER_URL = input('Введите ссылку: ')
def get_html(url):
	response = urllib.request.urlopen(url)
	return response.read()
def parse(html):
	soup = BeautifulSoup(html, 'html.parser')
	div = soup.find('div', class_='post')
	header = soup.find('h1', class_='entry-title')
	date = div.find('li', class_='publish-date')
	preview = soup.find('p', class_='post-preview-text')
	basetext = div.find('div', class_='entry-content detail-text')
	
	projects = []
	
	projects.append({
		'header': header.text,
		'date': date.text,
		'preview': preview.text,
		'basetext': basetext.text
	})
	return projects
def save(projects, path):
	with open(path, 'w') as csvfile:
		writer = csv.writer(csvfile)
										
def main():
	projects = []
	print(parse(get_html(USER_URL)))
	save(projects, 'projects.csv')
	
if __name__ == '__main__':
	main()

Прошу помощи в написании функции save: нужно, чтобы она записывала отпарсенное в csv-файл, используя разделитель \n.
Только не отправляйте меня сюда https://docs.python.org/2/library/csv.html
Примечание: Ещё хотелось бы очистить текст от лишних символов.
FishHook
spacesnake
записывала отпарсенное в csv-файл, используя разделитель \n.
csv применяется для хранения табличных данных, разделитель нужен чтобы разделять данные внутри одной строки (т.е. записи). Если у вас разделителем будет \n, то вы получите все данные в разных строках, то есть вместо таблицы
 London     3453445  True
Paris         546666   True
New-York  5842141  False
у вас будет
 London
3453445
True
Paris
546666
True
таким образом теряется вся табличность, и csv становится бессмысленным
spacesnake
FishHook
csv применяется для хранения табличных данных
Спасибо за ответ. Тогда мне, наверно, нужно не это.
Не могли бы вы показать, как отпарсенное сохранять (с помощью моей функции save) просто как текст (в текстовый файл или в тот же csv) в таком виде:

просто текст:
header (date)
preview
basetext
FishHook
spacesnake
Просто пишите в файл
https://docs.python.org/3/tutorial/inputoutput.html#reading-and-writing-files
spacesnake
Спасибо большое
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB