【发布时间】:2022-01-04 22:50:39
【问题描述】:
我正在使用 Selenium 从网页的 HTML 正文中提取数据,并正在使用 pandas 将数据写入 .csv 文件。
数据被提取并写入文件,但是我想操纵数据的格式以写入指定的列,在阅读了许多线程和文档后,我无法理解如何做到这一点。
当前CSV文件输出如下,一行或一列所有数据
0,
B09KBFH6HM,
dropdownAvailable,
90,
1,
B09KBNJ4F1,
dropdownAvailable,
100,
2,
B09KBPFPCL,
dropdownAvailable,
110
或者如果我使用 [count] count +=1 方法,它将是一行
0,B09KBFH6HM,dropdownAvailable,90,1,B09KBNJ4F1,dropdownAvailable,100,2,B09KBPFPCL,dropdownAvailable,110
我希望输出格式如下,
/col1 /col2 /col3 /col4
0, B09KBFH6HM, dropdownAvailable, 90,
1, B09KBNJ4F1, dropdownAvailable, 100,
2, B09KBPFPCL, dropdownAvailable, 110
我尝试使用 columns= 选项,但在终端中出现错误,并且不明白我应该使用什么功能在附加详细信息下的文档中实现此目的
简化版如下
from selenium import webdriver
import pandas as pd
price = []
driver = webdriver.Chrome("./chromedriver")
driver.get("https://www.example.co.jp/dp/zzzzzzzzzz/")
select_box = driver.find_element_by_name("dropdown_selected_size_name")
options = [x for x in select_box.find_elements_by_tag_name("option")]
for element in options:
price.append(element.get_attribute("value"))
price.append(element.get_attribute("class"))
price.append(element.get_attribute("data-a-html-content"))
output = pd.DataFrame(price)
output.to_csv("Data.csv", encoding='utf-8-sig')
driver.close()
我需要单独解析每个项目并附加吗? 我希望将每个 .get_attribute 值写入一个新列。
由于我对熊猫不是很精通,您有什么建议可以解决这个问题,谢谢您的帮助
【问题讨论】:
标签: python pandas dataframe selenium