python dict对象不可调用,正在解析json

python dict对象不可调用,正在解析json,python,json,pandas,parsing,stockquotes,Python,Json,Pandas,Parsing,Stockquotes,在Yahoo Finance对pandas datareader的贬损之后,我在更换后到处寻找。经过彻底的谷歌搜索,我决定我必须试试Alpha Vantage 我找到了这段关于如何从Alpha Vantage获取股票信息的视频: 这是我的灵感代码,我正试图做到这一点 import pandas as pd import datetime import requests def dtr_alvan(): try: data=requests.get('https://w

在Yahoo Finance对pandas datareader的贬损之后,我在更换后到处寻找。经过彻底的谷歌搜索,我决定我必须试试Alpha Vantage

我找到了这段关于如何从Alpha Vantage获取股票信息的视频:

这是我的灵感代码,我正试图做到这一点

import pandas as pd
import datetime
import requests

def dtr_alvan():
    try:
        data=requests.get('https://www.alphavantage.co/query?function=TIME_SERIES_DAILY_ADJUSTED&symbol=MSFT&apikey=demo')
        data=data.json()
        print('\ndata before json parsing:\n',data)

        data=data('Time Series (Daily)')
        df=pd.DataFrame(columns=['date','open','high','low','close','adj_close','volume','dividend amount','split coeffiecient'])
        for d,p in data.items():
            date=datetime.datetime.strptime(d, '%Y-%m-%d %H:%M:%S')
            data_row=[date,float(p['1. open']),float(p['2. high']),float(p['3. low']),float(p['4. close']),float(p['5. adjusted close']),int(p['6. volume']),float(p['7. dividend amount']),float(p['8. split coefficient'])]
            df.loc[-1,:]=data_row
            df.index=df.index+1
        data=df.sort_values('date')
        print('\ndata after json parsing:\n',data)

        return data


    except Exception as e:
        print(str(e))
        pass


if __name__ == '__main__':
    print("== m04_get_stocks == is being run directly\n")

    data = dtr_alvan()
显然,我可以获取数据(第一个print语句),但解析json会给我一个错误,dict对象不可调用(第二个print语句未运行,如第行所示) 数据=数据(‘时间序列(每日)’) 代码跳转到带有错误的错误异常

'dict object is not callable'

有人能帮我吗?我完全被难住了,需要你们的提示吗?

您遇到这个错误是因为您试图将dictionary作为一个方法调用。您应该使用第三个括号“[]”访问dictionary对象的值


它应该是,
data=data['Time Series(Daily)]

这应该放在方括号中而不是()中吗

i、 e.您是否试图访问数据目录中的键“时间序列(每日)”

如果是,请使用:

data = data['Time Series (Daily)']

否则,您将尝试调用参数为“Time Series(Daily)”的函数data()

也许您应该使用括号?。字典是不可调用的(括号),类似于
data=data['Time Series(Daily)]
data = data['Time Series (Daily)']