用美丽的汤解析HTML表到熊猫

时间:2017-04-20 03:19:19

标签: pandas parsing beautifulsoup

我想从

解析“Team Batting”表格
http://www.baseball-reference.com/teams/NYM/2017.shtml

我可以找到html表:

table = soup.find('div', attrs={'class': 'overthrow table_container'})
table_body = table.find('tbody')

我可以在表格中找到数据并将其存储到列表中:

table_text=[]
for tr in table_body.findAll('tr'):
    tds = tr.findAll('td')
    for td in tds:
        table_text.append(td.get_text())

如何在熊猫中重新创建此表?我正在考虑创建一个字典,但我不确定如何从这些数据。如何抓取这个html表并显示它?

1 个答案:

答案 0 :(得分:4)

您正在寻找pandas.read_html(),您可以使用match参数指向您的表格。请注意,它将返回DataFrames的列表,获取第一个:

import pandas as pd

url = "http://www.baseball-reference.com/teams/NYM/2017.shtml"
dfs = pd.read_html(url, match="Team Batting")
print(dfs[0])