【发布时间】:2020-03-30 13:27:46
【问题描述】:
我使用 for 循环从网站中的表中提取数据 硒自动化网络驱动程序。如何将该数据转换为数据框 并导出为 csv 文件。我试图在 pandas 数据框中分配“值”,但它抛出错误。
from selenium import webdriver
url = "https://www.jambalakadi.info/status/"
driver = webdriver.Chrome(executable_path="chromedriver.exe")
driver.get(url)
row_count = len(driver.find_elements_by_xpath(" //*[@id='main_table_countries_today']/tbody[1]/tr "))
col_count = len(driver.find_elements_by_xpath(" //*[@id='main_table_countries_today']/tbody[1]/tr[1]/td "))
print('Number of row counts:', row_count)
print("Number of column counts:", col_count)
for r in range(2, row_count+1):
for c in range(1, col_count+1):
value = driver.find_element_by_xpath(" //*[@id='main_table_countries_today']/tbody[1]/tr["+str(r)+"]/td["+str(c)+"] ").text
print(value, end=" ")
print(" ")
当我运行 for 循环时,'value' 变量打印数据,但我 无法使用 pandas 创建数据框并将其导出为 CSV 文件。
我更新了代码格式是否正确?
my_data = []
for r in range(2, row_count+1):
for c in range(1, col_count+1):
value = driver.find_element_by_xpath(" //*[@id='main_table_countries_today']/tbody[1]/tr["+str(r)+"]/td["+str(c)+"] ").text
print(value, end=" ")
for line in value:
my_data.append(line[0],line[1],line[2])
pd.DataFrame.from_records(my_data, columns=column).to_csv('output.csv')
print(" ")
【问题讨论】:
-
你能分享你的网址吗?
-
我没有提到网站网址,因为我在未经网站许可的情况下抓取数据。
-
好的。那么你需要发布表格结构的html吗?
标签: python-3.x pandas selenium selenium-webdriver selenium-chromedriver