@love_parsing

Как красиво добавлять в csv данные?

Всем добрый день. Есть парсер, который парсит сайт https://3dnews.ru/news
и заносит данные в csv таблицу через запятую.
Как можно засовывать в таблицу данные не через запятую, а название в первом столбце, а ссылка во втором столбце?
Для следующей статьи: Название в первом столбце, а ссылка во втором столбце (вообщем не через запятую, а каждые в своём столбце)
Код:
import requests
from bs4 import BeautifulSoup
import csv


def get_html(url):
    r = requests.get(url)
    r.encoding = 'utf8'
    return r.text


def csv_read(data):
    with open("data.csv", 'a') as file:
        writer = csv.writer(file)
        writer.writerow((data['head'], data['link']))

def get_link(html):
    soup = BeautifulSoup(html, 'lxml')
    head = soup.find('div', id='section-content').find_all('a', class_="entry-header")
    for i in head:
        link = 'https://3dnews.ru' + i.get('href')
        heads= i.find('h1').string
        data = {'head': heads,
                 'link': link}
        csv_read(data)


data = get_link(get_html('https://3dnews.ru/news'))

Вывод:

5ee913448bf38554103248.png

Как сделать такой вывод?

5ee913c6601e3800467939.png
  • Вопрос задан
  • 184 просмотра
Решения вопроса 1
SoreMix
@SoreMix Куратор тега Python
yellow
CSV - Comma-Separated Values

Это формат, в котором данные разделены запятой, а не столбцами. Это уже вопрос к программе, в которую импортируете данные. Она должна сама уметь разбивать данные по колонкам. Excel должен разбить по умолчанию, аналог гугла docs.google.com спрашивает по какому символу разделить данные.

В общем, в csv все и должно быть разделено через запятую или другие знаки, разбиение на колонки - задача программа, которая читает этот файл.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
fox_12
@fox_12 Куратор тега Python
Расставляю биты, управляю заряженными частицами
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
23 нояб. 2024, в 00:16
2000 руб./за проект
22 нояб. 2024, в 23:55
3000 руб./за проект
22 нояб. 2024, в 22:26
3500 руб./за проект