Pandas.read_json(JSON_URL)
Use json_normalize
:
import pandas as pd
df = pd.json_normalize(json['result'])
print (df)
Quantity TimeStamp id
0 3.030463 2017-10-04T17:39:53.92 12312312
1 3.030463 2017-10-04T17:39:53.92 2342344
Also here working:
df = pd.DataFrame(d['result'])
print (df)
Quantity TimeStamp id
0 3.030463 2017-10-04T17:39:53.92 12312312
1 3.030463 2017-10-04T17:39:53.92 2342344
For DatetimeIndex
convert column to_datetime
and set_index
:
df['TimeStamp'] = pd.to_datetime(df['TimeStamp'])
df = df.set_index('TimeStamp')
print (df)
Quantity id
TimeStamp
2017-10-04 17:39:53.920 3.030463 12312312
2017-10-04 17:39:53.920 3.030463 2342344
EDIT:
Solution with load data:
from urllib.request import urlopen
import json
import pandas as pd
response = urlopen("https://bittrex.com/api/v1.1/public/getmarkethistory?market=BTC-ETC")
json_data = response.read().decode('utf-8', 'replace')
d = json.loads(json_data)
df = pd.json_normalize(d['result'])
df['TimeStamp'] = pd.to_datetime(df['TimeStamp'])
df = df.set_index('TimeStamp')
print (df.head())
Quantity Total
TimeStamp
2017-10-05 06:05:06.510 3.579201 0.010000
2017-10-05 06:04:34.060 45.614760 0.127444
2017-10-05 06:04:34.060 5.649898 0.015785
2017-10-05 06:04:34.060 1.769847 0.004945
2017-10-05 06:02:25.063 0.250000 0.000698
Another solution:
df = pd.read_json('https://bittrex.com/api/v1.1/public/getmarkethistory?market=BTC-ETC')
df = pd.DataFrame(df['result'].values.tolist())
df['TimeStamp'] = pd.to_datetime(df['TimeStamp'])
df = df.set_index('TimeStamp')
print (df.head())
Quantity Total
TimeStamp
2017-10-05 06:11:25.100 5.620957 0.015704
2017-10-05 06:11:11.427 22.853546 0.063851
2017-10-05 06:10:30.600 6.999213 0.019555
2017-10-05 06:10:29.163 20.000000 0.055878
2017-10-05 06:10:29.163 0.806039 0.002252
Another solution, based on jezrael's using requests:
import requests
import pandas as pd
d = requests.get("https://bittrex.com/api/v1.1/public/getmarkethistory?market=BTC-ETC").json()
df = pd.DataFrame.from_dict(d['result'])
df['TimeStamp'] = pd.to_datetime(df['TimeStamp'])
df = df.set_index('TimeStamp')
df