猿问

如何从 web api 访问类 json 对象的列表?

只是我现在正在做的一个副项目,正在玩 covid19 api。我希望有一些东西可以让我使用类似data2.countries.


import requests as r

import urllib

import json


url = 'https://api.covid19api.com/total/dayone/country/south-africa'

foo = urllib.request.urlopen(url)

data = json.loads(foo.read().decode())

data2 = json.parse(data)

print(data2)

数据看起来像这样 - 都在一个列表中:


[{'Country': 'South Africa', 'CountryCode': '', 'Province': '', 'City': '', 'CityCode': '', 'Lat': '0', 'Lon': '0', 'Confirmed': 607045, 'Deaths': 12987, 'Recovered': 504127, 'Active': 89931, 'Date': '2020-08-22T00:00:00Z'},

 {'Country': 'South Africa', 'CountryCode': '', 'Province': '', 'City': '', 'CityCode': '', 'Lat': '0', 'Lon': '0', 'Confirmed': 609773, 'Deaths': 13059, 'Recovered': 506470, 'Active': 90244, 'Date': '2020-08-23T00:00:00Z'}]

到目前为止我得到:


  File "~/20200813file/main.py", line 19, in <module>

    data2 = json.parse(data)


AttributeError: module 'json' has no attribute 'parse'


Cats萌萌
浏览 185回答 2
2回答

哆啦的时光机

为什么不尝试将其转换为 pandas Dataframe。import urllibimport jsonimport pandas as pdurl = 'https://api.covid19api.com/total/dayone/country/south-africa'foo = urllib.request.urlopen(url)data = json.loads(foo.read().decode())df = pd.DataFrame(data)print(df.Country)

跃然一笑

你应该使用json.dumps:import requests as rimport urllibimport jsonurl = 'https://api.covid19api.com/total/dayone/country/south-africa'foo = urllib.request.urlopen(url)data = json.loads(foo.read().decode())data2 = json.dumps(data)print(data2)json.dumps()函数将 Python 对象转换为 json 字符串。
随时随地看视频慕课网APP

相关分类

Python
我要回答