Python Can';我似乎不明白为什么我能';t将JSON读入数据帧
如何将此JSON的“数据”部分转换为一个简单的表。以下是我所拥有的:Python Can';我似乎不明白为什么我能';t将JSON读入数据帧,python,json,pandas,Python,Json,Pandas,如何将此JSON的“数据”部分转换为一个简单的表。以下是我所拥有的: import json import urllib.request import pandas url = urllib.request.urlopen('https://www.cryptocompare.com/api/data/coinlist/') json_obj = json.load(url) print(json.dumps(json_obj, sort_keys=True, indent=4)) json
import json
import urllib.request
import pandas
url = urllib.request.urlopen('https://www.cryptocompare.com/api/data/coinlist/')
json_obj = json.load(url)
print(json.dumps(json_obj, sort_keys=True, indent=4))
json_data = json_obj['Data']
print(json.dumps(json_data, sort_keys=True, indent=4))
df = pandas.DataFrame(json_data)
with pandas.option_context('display.max_rows', None, 'display.max_columns', 3):
print(df)
尝试了很多方法,但结果看起来并不正确。该表应为:
CoinName,Algorithm,...
ABC, AAA, ...
DEF, DDS, ...
不是一个完整的答案,但我没有留下评论的名声 urllib.request.urlopen正在返回一个对象,但json.load需要一个字符串 如果您正在查找字符串,则一定是使用了错误的方法。 json\u obj=json.load(url) 回溯(最近一次呼叫最后一次): 文件“”,第1行,在 文件“/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/json/_init__.py”,第268行,装入 parse_常量=parse_常量,object_pairs_hook=object_pairs_hook,**千瓦) 文件“/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/json/_init__.py”,第312行,在loads中 s、 _u_类________;名称____;) TypeError:JSON对象必须是str,而不是“bytes” >>>url.info() >>>url.getcode() 200
不是完整的答案,但我没有留下评论的名声
urllib.request.urlopen正在返回一个对象,但json.load需要一个字符串
如果您正在查找字符串,则一定是使用了错误的方法。
json\u obj=json.load(url)
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
文件“/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/json/_init__.py”,第268行,装入
parse_常量=parse_常量,object_pairs_hook=object_pairs_hook,**千瓦)
文件“/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/json/_init__.py”,第312行,在loads中
s、 _u_类________;名称____;)
TypeError:JSON对象必须是str,而不是“bytes”
>>>url.info()
>>>url.getcode()
200
一旦您阅读了JSON,您现在实际上在JSON\u数据中有了一个Pythondict
。因此,您需要:
一旦您阅读了JSON,您现在实际上在JSON\u数据中有了一个Pythondict
。因此,您需要:
我觉得不错
pandas.DataFrame(json_obj['Data']).T
Algorithm CoinName FullName FullyPremined
007 Scrypt 007 coin 007 coin (007) 0
1337 X13 1337 1337 (1337) 0
1CR Scrypt 1Credit 1Credit (1CR) 0
1ST N/A FirstBlood FirstBlood (1ST) 1
2015 X11 2015 coin 2015 coin (2015) 0
2BACCO Scrypt 2BACCO Coin 2BACCO Coin (2BACCO) 0
2GIVE Scrypt 2GiveCoin 2GiveCoin (2GIVE) 0
32BIT X11 32Bitcoin 32Bitcoin (32BIT) 0
365 X11 365Coin 365Coin (365) 0
404 Scrypt 404Coin 404Coin (404) 0
42 Scrypt 42 Coin 42 Coin (42) 0
611 SHA256 SixEleven SixEleven (611) 0
808 SHA256 808 808 (808) 0
888 N/A Octocoin Octocoin (888) 0
我觉得不错
pandas.DataFrame(json_obj['Data']).T
Algorithm CoinName FullName FullyPremined
007 Scrypt 007 coin 007 coin (007) 0
1337 X13 1337 1337 (1337) 0
1CR Scrypt 1Credit 1Credit (1CR) 0
1ST N/A FirstBlood FirstBlood (1ST) 1
2015 X11 2015 coin 2015 coin (2015) 0
2BACCO Scrypt 2BACCO Coin 2BACCO Coin (2BACCO) 0
2GIVE Scrypt 2GiveCoin 2GiveCoin (2GIVE) 0
32BIT X11 32Bitcoin 32Bitcoin (32BIT) 0
365 X11 365Coin 365Coin (365) 0
404 Scrypt 404Coin 404Coin (404) 0
42 Scrypt 42 Coin 42 Coin (42) 0
611 SHA256 SixEleven SixEleven (611) 0
808 SHA256 808 808 (808) 0
888 N/A Octocoin Octocoin (888) 0
啊。。他错过了比赛。。他错过了.T
pandas.DataFrame(json_obj['Data']).T
Algorithm CoinName FullName FullyPremined
007 Scrypt 007 coin 007 coin (007) 0
1337 X13 1337 1337 (1337) 0
1CR Scrypt 1Credit 1Credit (1CR) 0
1ST N/A FirstBlood FirstBlood (1ST) 1
2015 X11 2015 coin 2015 coin (2015) 0
2BACCO Scrypt 2BACCO Coin 2BACCO Coin (2BACCO) 0
2GIVE Scrypt 2GiveCoin 2GiveCoin (2GIVE) 0
32BIT X11 32Bitcoin 32Bitcoin (32BIT) 0
365 X11 365Coin 365Coin (365) 0
404 Scrypt 404Coin 404Coin (404) 0
42 Scrypt 42 Coin 42 Coin (42) 0
611 SHA256 SixEleven SixEleven (611) 0
808 SHA256 808 808 (808) 0
888 N/A Octocoin Octocoin (888) 0