Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/354.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.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
Python 无法将提取的文本作为csv中的单个行写入_Python_Csv_Selenium_Web Scraping - Fatal编程技术网

Python 无法将提取的文本作为csv中的单个行写入

Python 无法将提取的文本作为csv中的单个行写入,python,csv,selenium,web-scraping,Python,Csv,Selenium,Web Scraping,这可被视为问题的第二部分 我在这里做的是,从表中提取每个文本后,将其写入csv文件 代码如下: from selenium import webdriver import os import csv chromeDriver = "/home/manoj/workspace2/RedTools/test/chromedriver" os.environ["webdriver.chrome.driver"] = chromeDriver driver = webdriver.Chrome(chr

这可被视为问题的第二部分

我在这里做的是,从表中提取每个文本后,将其写入csv文件

代码如下:

from selenium import webdriver
import os
import csv

chromeDriver = "/home/manoj/workspace2/RedTools/test/chromedriver"
os.environ["webdriver.chrome.driver"] = chromeDriver
driver = webdriver.Chrome(chromeDriver)
driver.get("https://www.betfair.com/exchange/football/coupon?id=2")
list2 = driver.find_elements_by_xpath('//*[@data-sportid="1"]')

couponlist = []
finallist = []
for game in list2[1:]:
    coup = game.find_element_by_css_selector('span.home-team').text
    print(coup)
    couponlist.append(coup)
print(couponlist)
print('its done')


outfile = open("./footballcoupons.csv", "wb")
writer = csv.writer(outfile)
writer.writerow(["Games"])
writer.writerows(couponlist)
3份打印报表的结果:

Santos Laguna
CSMS Iasi
AGF
Besiktas
Malmo FF
Sirius
FCSB
Eibar
Newcastle
Pescara

[u'Santos Laguna', u'CSMS Iasi', u'AGF', u'Besiktas', u'Malmo FF', u'Sirius', u'FCSB', u'Eibar', u'Newcastle', u'Pescara']

its done
现在,您可以注意到我将这些值写入csv的代码。但我最终把它奇怪地写进了csv。请查看快照。有人能帮我解决这个问题吗?

根据,
writerows
将行列表作为参数,并且

对于Writer对象,行必须是字符串或数字的iterable

您正在传递一个字符串列表,因此
writerows
对字符串进行迭代,将每个字符组成一行

您可以使用循环:

for team in couponlist:
    writer.writerow([team])
或者将列表转换为列表列表,然后使用
writerows

couponlist = [[team] for team in couponlist]
writer.writerows(couponlist)
但无论如何,如果您只有一列,则无需使用
csv

根据,
writerows
将行列表作为参数,并且

对于Writer对象,行必须是字符串或数字的iterable

您正在传递一个字符串列表,因此
writerows
对字符串进行迭代,将每个字符组成一行

您可以使用循环:

for team in couponlist:
    writer.writerow([team])
或者将列表转换为列表列表,然后使用
writerows

couponlist = [[team] for team in couponlist]
writer.writerows(couponlist)

但无论如何,如果您只有一列,就没有必要使用
csv

完美。。谢谢你@thierry lathuille。它起作用了。。我特别喜欢最后一行。干杯完美的谢谢你@thierry lathuille。它起作用了。。我特别喜欢最后一行。干杯