代码之家  ›  专栏  ›  技术社区  ›  jason

Pandas:排列从html提取的表

  •  0
  • jason  · 技术社区  · 6 年前

    我有很多这样的桌子 read_html 不完全正确地读取表。例如:

    import pandas as pd
    
    l = 'https://www.sec.gov/Archives/edgar/data/1045810/000104581018000047/nvda2018proxystatementsecf.htm'
    df_list = pd.read_html(l)
    
    df = df_list[85].dropna(how='all')
    df = df.fillna('')
    
    print df
    

    1 回复  |  直到 6 年前
        1
  •  2
  •   matt-chv    6 年前

    你的挑战是,你正面临着熊猫阅读html的限制。

    issue

    一种解决方法可能是编写自己的解析器,如前所述 here

    这里的要点是:

    首先我们使用BeautifulSoup解析HTML,查找所有表,然后查找每个表中的所有行,然后查找每行中的每个单元格。 colspan信息很容易使用。如果注册的colspan值大于1,则在开始填充下一个单元格之前跳过该列数。