2017-04-20 136 views
1

大熊猫我想从解析HTML表格与美丽的汤

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()) 

如何在pandas中重新创建此表?我正在考虑创建一个字典,但不知道如何从这些数据。我如何刮这个HTML表格并显示它?

+0

大熊猫有一个[pd.read_html(http://pandas.pydata.org/pandas-docs/stable/generated/pandas。 read_html.html#pandas-read-html)方法来输出一个数据帧 –

回答

1

您正在寻找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])