Задать вопрос
uptownnegative
@uptownnegative

Как выгрузить данные в excel из парсера по столбцам?

Написал простой парсер, который забирает данные о плагинах с Wordpress. Всё работает стабильно, но при экспорте этих данных в csv файл, каждая запись о плагине записывается в одну ячейку через запятую, когда должно всё расписываться в строки. То есть имя в одной ячейке, url справа от него, число справа от url.
Использую стандартную библиотеку csv.
Подскажите, как это можно исправить?
import requests
from bs4 import BeautifulSoup 
import csv

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

def refined(s):
    r = s.split(' ')[0]
    result = r.replace(',', '')
    return result

def write_csv(data):
    with open('plugins.csv','a') as f:
        writer = csv.writer(f)
        writer.writerow( (data['name'], data['url'], data['reviews']) )

def get_data(html):
    soup = BeautifulSoup(html, 'lxml')
    popular = soup.find_all('section') [1]
    plugins = popular.find_all('article')
    
    for plugin in plugins: 
        name = plugin.find('h2').text
        url = plugin.find('h2').find('a').get('href')
        r = plugin.find('span', class_= 'rating-count').find('a').text
        rating = refined(r) 

        data = { 'name': name,
        'url': url,
        'reviews': rating }
        write_csv(data)

def main():
    url = 'https://wordpress.org/plugins/'
    get_data(get_html(url))

if __name__ == '__main__':
    main()

5e3bf44db10b2588291053.png
  • Вопрос задан
  • 799 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
Radjah
@Radjah
Разделять поля с помощью ";" или использовать экспорт в Excel с ручным указанием разделителя.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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