Selenium WebDriver逐行将数据写入CSV
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Selenium WebDriver逐行将数据写入CSV相关的知识,希望对你有一定的参考价值。
我正在尝试使用Selenium在CSV文件中写入一些数据
在运行代码时
labels = browser.find_elements_by_xpath('.//a[@class="question-hyperlink"]')
text = [x.text for x in labels]
data.append(text)
print(text)
with open('output.csv', 'wb') as data_file:
writer = csv.writer(data_file)
writer.writerows(data)
我得到的输出是
data1 data2 data3 data4 data5
data6 data7 data8 data9 data10
data11 data12 data13 data14 data15
但我想写下面的数据
data1
data2
data3
data4
.....
data15
我怎样才能做到这一点? 请帮我。
答案
使用writer = csv.writer(data_file, delimiter='
')
分隔符
labels = browser.find_elements_by_xpath('.//a[@class="question-hyperlink"]')
text = [x.text for x in labels]
data.append(text)
print(text)
with open('output.csv', 'wb') as data_file:
writer = csv.writer(data_file, delimiter='
')
writer.writerows(data)
另一答案
将data.append(text)
改为data.extend(text)
。通过这种方式,您将拥有一个平面列表data
而不是列表列表。
为了使每行具有单个值,您需要使data
中的每个项目成为单个列表
writer.writerows(map(lambda x: [x], data))
以上是关于Selenium WebDriver逐行将数据写入CSV的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 C# 从 SQL Server 数据库中逐行将数据检索到 datagridview 中
selenium + python自动化测试unittest框架学习webdriver元素操作