我试图为我正在做的一个小项目提取一些NBA数据,我需要提取几个列' (来自上下,垂直)来自HTML表的数据,如this one here。我现在只想尝试获得PTS,那么我该怎么做才能拔出一列数据呢?我已经发现它是每个数据行的最后一个元素,但我不确定如何解析数据。
答案 0 :(得分:1)
我建议你阅读整个html表,然后选择你需要的列。也许你会在速度上失去一些东西,但你会在简单性方面获得更多。
熊猫很容易做到这一点' read_html函数:
import urllib2
import pandas as pd
page1 = urllib2.urlopen(
'http://www.basketball-reference.com/players/h/hardeja01/gamelog/2015/').read()
#Select the correct table by some attributes, in this case id=pgl_basic.
#The read_html function returns a list of tables.
#In this case we select the first (and only) table with this id
stat_table = pd.io.html.read_html(page1,attrs={'id':'pgl_basic'})[0]
#Just select the column we needed.
point_column = stat_table['PTS']
print point_column
如果您不熟悉大熊猫,您可以阅读以下内容: http://pandas-docs.github.io/pandas-docs-travis/10min.html
例如,您可能希望从表中删除标题行或将表拆分为多个表。