Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python3.6:csvwriter只写入前两个字符串_Python_Csv_Export To Csv_Python 3.6 - Fatal编程技术网

Python3.6:csvwriter只写入前两个字符串

Python3.6:csvwriter只写入前两个字符串,python,csv,export-to-csv,python-3.6,Python,Csv,Export To Csv,Python 3.6,我正在尝试将足球队的名字和赔率从网页上传到csv文件。我的问题是,它只是将前两个字符串写入csv文件。有人能看出我做错了什么吗 当我打印它时,它的工作原理与屏幕上显示的一样完美,但当我将它提取到csv文件时,它是空的 from selenium import webdriver from bs4 import BeautifulSoup import csv url = "https://1xbet.cm/en/live/Football/" driver = webdriver.Chrom

我正在尝试将足球队的名字和赔率从网页上传到csv文件。我的问题是,它只是将前两个字符串写入csv文件。有人能看出我做错了什么吗

当我打印它时,它的工作原理与屏幕上显示的一样完美,但当我将它提取到csv文件时,它是空的

from selenium import webdriver
from bs4 import BeautifulSoup
import csv

url = "https://1xbet.cm/en/live/Football/"

driver = webdriver.Chrome("C:/Users/Christian/Desktop/WebScraper 0.5/chromedriver/chromedriver.exe")
driver.get(url)
soup = BeautifulSoup(driver.page_source, 'html.parser')

containers = soup.findAll("div", {"class": "c-events__item_col"})
for container in containers:
    teams = [x.get_text() for x in container.findAll(
        "span", {"class": "c-events__team"}
    )]
    odds = [x.attrs.get('data-coef') for x in container.findAll(
        "a", {"class": "c-bets__bet"}
    )]

    #print(teams)
    #print(odds)
    #print()

# name of csv file
filename = "C:/Users/Christian/Desktop/WebScraper 0.5/1xbetLiveOdds.csv"

# writing to csv file
with open(filename, 'w') as csvfile:
    # creating a csv writer object
    csvwriter = csv.writer(csvfile)

    # writing the fields
    csvwriter.writerow(teams)
    csvwriter.writerow(odds)

似乎你想要这样的东西:

from selenium import webdriver
from bs4 import BeautifulSoup
import csv

url = "https://1xbet.cm/en/live/Football/"

driver = webdriver.Chrome("C:/Users/Christian/Desktop/WebScraper 0.5/chromedriver/chromedriver.exe")
driver.get(url)
soup = BeautifulSoup(driver.page_source, 'html.parser')

containers = soup.findAll("div", {"class": "c-events__item_col"})
teams_odds = []
for container in containers:
    teams_odds.append([x.get_text() for x in container.findAll(
        "span", {"class": "c-events__team"}
    )])
    teams_odds.append([x.attrs.get('data-coef') for x in container.findAll(
        "a", {"class": "c-bets__bet"}
    )])


# name of csv file
filename = "C:/Users/Christian/Desktop/WebScraper 0.5/1xbetLiveOdds.csv"

# writing to csv file
with open(filename, 'w') as csvfile:
    # creating a csv writer object
    csvwriter = csv.writer(csvfile)

    # writing the fields
    for toe in teams_odds:
        csvwriter.writerow(toe)

对不起,我还是有问题。它仍然只打印前两个团队:/@ChristianHandest打印的输出是多少(团队的赔率)?等等,现在它工作的原因也很奇怪。谢谢你,ааМааааааааа!英雄