2015-04-05 58 views
0

我正在嘗試爲我正在做的一個小項目提取一些NBA統計信息,並且我需要從HTML表格中提取幾列(垂直向上和向下)數據,如this one here。我現在只想獲得PTS,所以我應該如何才能提取那一列數據?我發現它是每個數據行的倒數第三個元素,但我不知道應該如何解析數據。從HTML表格提取一列數據w/Python?

回答

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

例如,您可能要刪除表格中的標題行或將表格拆分爲多個表格。