将类 str 表传递给数据框

问题描述 投票:0回答:1
tabela_site = driver.find_elements(By.CLASS_NAME,"table")
tabela = tabela_site[0].text

Como passar esse resultado que é a tabela para um dataframe ?

df = pd.read_html(tabela)
df
Da o seguinte erro 
ValueError: No tables found
python python-3.x pandas python-2.7 selenium-webdriver
1个回答
0
投票

这是冠军联赛积分榜的一个简单示例。 您可以使用

driver.find_elements(By.TAG_NAME, "table")
搜索页面上的所有表格。 使用
table.get_attribute("outerHTML")
您可以获得包含表格的特定 html 源。所以你可以用 pandas 输出它:

from selenium import webdriver
from selenium.webdriver.common.by import By
import pandas as pd

pd.set_option('display.width', None)
driver = webdriver.Chrome()

driver.get("https://www.sportschau.de/live-und-ergebnisse/fussball/uefa-champions-league/tabelle/")
tables = driver.find_elements(By.TAG_NAME, "table")
for table in tables:
    print(pd.read_html(io.StringIO(table.get_attribute("outerHTML")))[0])
    print("")

driver.quit()
© www.soinside.com 2019 - 2024. All rights reserved.