【问题标题】:Pandas read_html missing some tables熊猫 read_html 缺少一些表格
【发布时间】:2018-03-13 23:53:32
【问题描述】:

我正在使用 pandas read_html 来查找特定网页中的所有表格;但是,该过程似乎缺少一些表格。

这是网页:https://www.uspto.gov/web/offices/ac/ido/oeip/taf/mclsstc/mcls1.htm

这是我的简单示例:

import pandas as pd

df_list = pd.read_html("https://www.uspto.gov/web/offices/ac/ido/oeip/taf/mclsstc/mcls1.htm")

print(len(df_list))

此过程会找到 17 个表中的 9 个。如何使用此方法查找所有表?

注意:如果我在其他地理区域的页面上尝试此操作,我也会遇到同样的问题。

【问题讨论】:

    标签: python python-3.x pandas


    【解决方案1】:

    pd.read_html 函数似乎找不到所有表格标签。 我可以建议你使用 BeautifulSoupurllib2 包来完成这个任务。您可以通过pip install <package_name> 安装它。

    import urllib2
    from bs4 import BeautifulSoup
    
    html_text = urllib2.urlopen("https://www.uspto.gov/web/offices/ac/ido/oeip/taf/mclsstc/mcls1.htm")
    bs_obj = BeautifulSoup(html_text)
    tables = bs_obj.findAll('table')
    dfs = list()
    for table in tables:
        df = pd.read_html(str(table))[0]
        dfs.append(df)
    

    结果,您将在 dfs 列表中拥有所有表(DataFrame 类型)。

    【讨论】:

    • 感谢您提供替代解决方案。对 Python 3 稍作调整后,效果非常好。
    猜你喜欢
    • 2017-05-14
    • 2016-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-18
    • 1970-01-01
    • 2020-02-17
    • 2021-07-24
    相关资源
    最近更新 更多