亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何將 json 中的索引轉換為 int?

如何將 json 中的索引轉換為 int?

慕虎7371278 2022-12-20 13:59:19
我正在嘗試根據日期繪制此 json 中的數據。如何將數據框的“created_at”日期轉換為 int?獲取類型錯誤:列表索引必須是整數或切片,而不是 strimport requestsimport pandas as pdimport datetimeimport matplotlib.pyplot as plt%matplotlib inlineurl = 'https://api.oilpriceapi.com/v1/prices/past_week'headers = {'Authorization': 'Token XXXXXXXXXXX','Content-Type': 'application/json'}response = requests.get(url = url, headers = headers)data = response.json()print(data)dates = (data['data']['prices']['created_at'])values = (data['data']['prices']['price'])df = pd.DataFrame({'dates':dates, 'values':values})df['dates']  = [pd.to_datetime(i) for i in df['dates']]plt.line(dates, values)錯誤:TypeError                                 Traceback (most recent call last)<ipython-input-9-db4fdff870ee> in <module>()     14 print(data)     15 ---> 16 dates = (data['data']['prices']['created_at'])     17 values = (data['data']['prices']['price'])     18 TypeError: list indices must be integers or slices, not strJSON:{'status': 'success', 'data': {'prices': [{'price': 32.5, 'formatted': '$32.50', 'currency': 'USD', 'code': 'BRENT_CRUDE_USD', 'created_at': '2020-05-27T16:04:00.466Z', 'type': 'spot_price'},......
查看完整描述

2 回答

?
MYYA

TA貢獻1868條經驗 獲得超4個贊

讓我給你一個輕微的修正。首先你可以得到dates和prices如下


dates = [item['created_at'] for item in data['data']['prices']]

values = [item['price'] for item in data['data']['prices']]

其他應該按您的預期工作。


查看完整回答
反對 回復 2022-12-20
?
qq_笑_17

TA貢獻1818條經驗 獲得超7個贊

這是列表中的字典:


data['data']['prices']

>>[{'price': 32.5,'formatted': '$32.50','currency': 'USD','code': 'BRENT_CRUDE_USD','created_at': '2020-05-27T16:04:00.466Z','type': 'spot_price'}]

因此嘗試


data['data']['prices'][0]['created_at']


查看完整回答
反對 回復 2022-12-20
  • 2 回答
  • 0 關注
  • 131 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號