【发布时间】:2019-10-15 20:32:55
【问题描述】:
我正在尝试将text_entries 中的第二个值写入文件,但我不想在我的 .csv 中包含第一个值 - 例如 index2、index3 等。
如何在不向 CSV 输出添加索引标题的情况下写入新行? 代码如下:
import csv
from webdriver_manager.chrome import ChromeDriverManager
driver = webdriver.Chrome(ChromeDriverManager().install())
driver.get('https://www.example.se/list')
def get_elements_by_xpath1(driver, xpath):
return [entry.text for entry in driver.find_elements_by_xpath(xpath)]
text_entries = [
("index2", "//div[@class='apartment-fact' and contains(span, '')][1]"),
("index3", "//div[@class='apartment-fact' and contains(span, '')][2]"),
("index4", "//div[@class='apartment-fact' and contains(span, '')][3]"),
("index5", "//div[@class='apartment-fact' and contains(span, '')][4]")]
with open('output.csv', 'ab') as fd:
csv_output = csv.writer(fd)
csv_output.writerow([name for name, xpath in text_entries])
entries = []
for name, xpath in text_entries:
entries.append(get_elements_by_xpath1(driver, xpath))
csv_output.writerows(zip(*entries))
【问题讨论】:
-
csv_output.writerow([name for xpath in text_entries])?name未定义。 -
对不起; [名称的名称,text_entries 中的 xpath] :)
-
您能否详细说明您的预期/实际结果是什么?
-
那么请用edit修复
-
@martineau
get_elements_by_xpath1(driver, xpath)的定义是return(在这种情况下会带来文本,在另一种情况下会带来 hrefs)。至于minimu reproducible example,我将添加几行缺少的导入和代码,可能会有所帮助。感谢您的提示!
标签: python csv export-to-csv python-2.x webdriver-manager