方法对象不是可下标的Python

方法对象不是可下标的Python,python,Python,遇到TypeError:“method”对象不可下标 import csv import requests import json req = requests.get(url="https://www.draftkings.com/lobby/getcontests?sport=NHL") req.raise_for_status() data = req.json() for i, contest in enumerate(data['DraftGroups']): draftg

遇到
TypeError:“method”对象不可下标

import csv
import requests
import json

req = requests.get(url="https://www.draftkings.com/lobby/getcontests?sport=NHL")
req.raise_for_status()
data = req.json()

for i, contest in enumerate(data['DraftGroups']):
    draftgroupid = contest['DraftGroupId']
    req2 = requests.get(url="https://api.draftkings.com/draftgroups/v1/draftgroups/" + str(draftgroupid) + "/draftables?format=json")
    data2 = req2.json

    for i, player_info in enumerate(data2['draftables'][0]):
        date = player_info['competition']['startTime']
        print(date)
draftgroupid的输出:

16901
16905
16902
16903

我想知道这是否可能是第二个while循环?

您应该调用json方法,因此您的代码应该更改如下

import csv
import requests
import json

req = requests.get(url="https://www.draftkings.com/lobby/getcontests?sport=NHL")
req.raise_for_status()
data = req.json()

for i, contest in enumerate(data['DraftGroups']):
    draftgroupid = contest['DraftGroupId']
    req2 = requests.get(url="https://api.draftkings.com/draftgroups/v1/draftgroups/" + str(draftgroupid) + "/draftables?format=json")
    data2 = req2.json() # Note that this line was changed

    for i, player_info in enumerate(data2['draftables']): # Removed [0]
        date = player_info['competition']['startTime']
        print(date)

req2.json
是一种方法,您不会将其称为“我想知道它是否可能是第二个while循环?”。您的代码不包含任何while循环。它用于enumerate(data2['draftables'][0])中的i,player_信息:当您在函数名末尾去掉括号,如
data2=req2.json
中所示时,您最终得到的是方法对象本身,而不是调用方法的结果。
data2=req2.json
json
方法分配给
data2
变量。要调用这个方法,您应该包括
()
,这样它的
req2.json()
在做了建议的更改后,我会收到一个
类型错误:这行的字符串索引必须是整数
date=player\u info['competition']['startTime']
@MichaelTJohnson可能,player\u info不是字典。使用
type
方法检查播放器信息的类型。i、 e:
打印(键入(玩家信息))
。如果输出不是dict
dict
,则不能使用上述语法。谢谢,这是一个str。。我如何编辑str类的输出(player_info),然后我可以帮助
date=player_info['competition']['startTime']TypeError:字符串索引必须是整数