希望将字典转换为数据框和csv

时间:2020-02-26 04:11:34

标签: python pandas

我有一个脚本,可以从api获取时间和价格数据。我希望将其转换为数据框,csv,并最终转换为日期时间。

我已经四处看看,没有发现任何有效的方法。一些看似未解决的结构看起来相似。

最下面的几行是我最后一次创建数据框的尝试,它没有产生任何结果或错误消息。

任何有关如何将其转变为我可以使用的东西的建议,将不胜感激。

def get_price_history(**kwargs):

    url = 'https://api.tdameritrade.com/v1/marketdata/{}/pricehistory'.format(kwargs.get('symbol'))

    params = {}
    params.update({'apikey': key})

    for arg in kwargs:
        parameter = {arg: kwargs.get(arg)}
        params.update(parameter)

    return requests.get(url, params=params).json()

    d = get_price_history(symbol='SPX',period=10,periodType='day',frequencyType='minute')

    pd.DataFrame(d.items(), columns=['open', 'high','low','close','volume', 'datetime'])

    df.head(10)

脚本的输出:

print(get_price_history(symbol='SPX',period=10,periodType='day',frequencyType='minute'),

不在上方:

{
    'candles': [{
        'open': 3318.28,
        'high': 3320.6, 
        'low': 3317.77,
        'close': 3319.22,
        'volume': 0,
        'datetime': 1581345000000
    }, {
        'open': 3319.11,
        'high': 3320.5,
        'low': 3318.87,
        'close': 3320.46,
        'volume': 0,
        'datetime': 1581345060000
    },

1 个答案:

答案 0 :(得分:0)

df将失败,因为没有为df分配值。假设d的值是上面的json输出,请将代码更改为以下内容,以将json导入df:

df = pd.DataFrame(d['candles'], columns=['open', 'high','low','close','volume', 'datetime'])

print(df.head(2))

df.to_csv(r'file_location\\file_name.csv', index = True)

使用pd.to_csv将df保存到csv