【发布时间】:2018-08-19 00:25:29
【问题描述】:
我使用 requests 模块从网页内容中创建了一个 HTML 对象。我试图在那个对象上使用 pandas 来 read_html,但它只是创建了一个巨大的列表。它看起来像一个数据框,但类型是列表,我不能在上面调用数据框方法。
这是我拿到HTML对象后为它写的代码:
headers = {'User-Agent': ua.google}
tables = pd.read_html(response.content)
这就是我调用表格时的样子:
看起来不错,一旦数据帧的形式出现错误数据,我可以修复它,但我不知道如何将其从类型列表更改为类型数据帧,我也不知道为什么会这样首先进入列表而不是数据框。
作为第二个说明,我尝试使用 BeautifulSoup 读取 HTML 并提取表格,它只给了我表格的内容,但是当我尝试通过 pandas 读取它时,如果我尝试 pd.read_html(str(表))然后预览数据框,我只是在列表中获取站点名称和底部内容,而不是数据框。
【问题讨论】:
-
试试
tables[0]? -
成功了!我没有意识到它会创建一个 DataFrames 列表,谢谢!
标签: python pandas dataframe beautifulsoup python-requests