Ошибка при попытке сохранить очищенные данные в CSV-файл, используя python - PullRequest
0 голосов
/ 11 апреля 2020

Я удалил сайт, и теперь я хочу, чтобы они были сохранены как CSV-файл, для этого я написал скрипт следующим образом: мой script.py

# Here using selenium for scraping

# importing necessary modules

import selenium.webdriver

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By

import csv  
# the relevant url
url = 'https://web.bet9ja.com/Sport/SubEventDetail?SubEventID=76512106'
driver = webdriver.Chrome(r"c:/Users/SATYA/mysite/chromedriver")
driver.get(url)
driver.implicitly_wait(10) # seconds
# name of csv file  
filename = "university_records.csv"
names = [
    item.text for item in driver.find_elements_by_css_selector("div.SECQ.ng-binding")]
fields = print(names[0:2])
elements = [
    item.text for item in driver.find_elements_by_css_selector("div.SEOddLnk.ng-binding")]
values = [
    item.text for item in driver.find_elements_by_css_selector("div.SEOddsTQ.ng-binding")]
rows = print([values[0]+' '+elements[0], values[1]+' '+elements[1], values[2]+' '+elements[2]], [values[3]+' '+elements[3], values[4]+' '+elements[4], values[5]+' '+elements[5]])

# writing to csv file  
with open(filename, 'w') as csvfile:  
    # creating a csv writer object  
    csvwriter = csv.writer(csvfile)  
    # writing the fields  
    csvwriter.writerow(fields)  
    # writing the data rows  
    csvwriter.writerows(rows) 
    driver.quit()

Ошибка:

['1X2', 'Double Chance']
['1 3.60', 'X 4.20', '2 1.87'] ['1X 1.83', '12 1.19', 'X2 1.25']
Traceback (most recent call last):
  File "scrape.py", line 48, in <module>
    csvwriter.writerow(fields)
_csv.Error: iterable expected, not NoneType

Может кто-нибудь сказать, где я делаю неправильно в моем сценарии

1 Ответ

1 голос
/ 11 апреля 2020

Вы должны заменить:

fields = print(names[0:2]) на fields = names[0:2]

Вы также должны удалить print из строки переменных

print команда просто печатает данный объект в стандартный вывод. Не возвращает никакого значения.

...