python:使用pandas读取json
我想为下面的json链接获取时间戳,high、low、open、close,但我只得到一个错误 cpython:使用pandas读取json,python,json,Python,Json,我想为下面的json链接获取时间戳,high、low、open、close,但我只得到一个错误 charterror Noneresult[{u'indicators':{u'quote':[{u'high':[45.25,… 我的代码如下: df = pd.read_json('https://query1.finance.yahoo.com/v7/finance/chart/CPN.BK?range=2y&interval=1d&indicators=quote&in
harterror Noneresult[{u'indicators':{u'quote':[{u'high':[45.25,…
我的代码如下:
df = pd.read_json('https://query1.finance.yahoo.com/v7/finance/chart/CPN.BK?range=2y&interval=1d&indicators=quote&includeTimestamps=true')
output = df[['timestamp','open','high,'low','close']]
请指导如何将数据放入数据框如果您使用
pandas
从url中读取\u json
,它将所有json数据保存到一个单元格中(列图表
,行结果
)
根据您的代码,您必须提取'timestamp'、'open'、'high'、'low'
和'close'
的字典数据,然后您可以将它们传递到数据帧
:
import pandas as pd
df = pd.read_json('https://query1.finance.yahoo.com/v7/finance/chart/CPN.BK?range=2y&interval=1d&indicators=quote&includeTimestamps=true')
data = df['chart']['result'][0]
result = {'timestamp':data['timestamp'],
'open':data['indicators']['quote'][0]['open'],
'high':data['indicators']['quote'][0]['high'],
'low':data['indicators']['quote'][0]['low'],
'close':data['indicators']['quote'][0]['close']
}
df1 = pd.DataFrame(result, columns==['timestamp','open','high','low','close'])
df1
df1
将是:
timestamp open high low close
0 1442977200 44.50 45.25 44.25 45.00
1 1443063600 44.75 45.75 44.50 45.00
2 1443150000 44.75 45.00 44.25 44.50
3 1443409200 44.25 44.25 43.00 43.00
4 1443495600 42.50 44.50 42.25 44.00
5 1443582000 44.25 44.75 43.50 44.75
6 1443668400 44.50 45.00 44.25 45.00
7 1443754800 45.00 45.00 44.00 44.25
8 1444014000 44.25 44.75 43.75 44.50
...
或者,您可以从url加载json(请参阅),然后提取字典数据(
'timestamp','open','high','low'和'close'
),将其传递给pandas以生成结果数据框。谢谢。如何对数据框进行排序,从左开始,按时间戳排序,然后按打开、高、低和关闭。现在开始,按关闭、高、低、打开和timstamp排序。需要正确的顺序。@lotteryman,在pd.dataframe中添加列,检查更新的答案:df1=pd.dataframe(结果,列==['timestamp','open','high','low','close'])