简体   繁体   English

Python NBA统计

[英]Python NBA stats

I am trying to print the player ID's and PPG for each player in the following XML http://api.cbssports.com/fantasy/stats?version=3.0&timeframe=2014&period=ytd&SPORT=basketball 我正在尝试在以下XML http://api.cbssports.com/fantasy/stats?version=3.0&timeframe=2014&period=ytd&SPORT=basketball中为每个玩家打印玩家ID和PPG。

However when I print nothing is printed and I don't know why: 但是,当我打印时,什么也没打印,我也不知道为什么:

from urllib2 import Request, urlopen, URLError
import xml.etree.ElementTree as ET

request = Request('http://api.cbssports.com/fantasy/stats?version=3.0&timeframe=2014&period=ytd&SPORT=basketball')

try:
    response = urlopen(request)
    tree = ET.parse(response)
    root = tree.getroot()
    for stats in root.findall('.//player_stats/stats'):
        id = stats.get('player_id')
        PPG = stats.get('stat abbr="PPG"')
        print id, PPG
except URLError, e:
    print 'error:', e

stats is not a direct child of player_stats . stats不是player_stats的直接player_stats

Instead, iterate over player nodes, get the id from attrib dictionary. 相反,遍历player节点,从attrib字典中获取id In order to ding PPG value, use findtext() : 为了找到PPG值,请使用findtext()

for stats in root.findall('.//player_stats/player'):
    id = stats.attrib.get('id')
    PPG = stats.findtext('.//stat[@abbr="PPG"]')
    print id, PPG

Prints: 印刷品:

1992786 24.6
307818 12.2615384615385
555968 12.375
...

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM