我正在尝试使用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
我该怎么做?
请帮助我。
答案 0 :(得分:1)
使用writer = csv.writer(data_file, delimiter='\n')
分隔符
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='\n')
writer.writerows(data)
答案 1 :(得分:1)
将data.append(text)
更改为data.extend(text)
。
这样,您将拥有一个平面列表data
而不是列表列表。
为了使每行有一个值,您需要
data
中的每个项目
writer.writerows(map(lambda x: [x], data))