【问题标题】:Assigning parts of a string to their own variables [duplicate]将字符串的一部分分配给它们自己的变量[重复]
【发布时间】:2021-03-11 07:23:01
【问题描述】:

我一直在使用天气 API,并希望将返回的 API 数据中的值分配给某些变量。例如,我想将下面API数据中的lonlattemphumidity值分配给我的Python代码中它们自己的变量,所以我的结果如下:

lon = -87.74
lat = 41.9
temp = 46.49
humidity = 61

这是我从 API 请求中收到的数据:

b'{"coord":{"lon":-87.74,"lat":41.9},"weather": 
[{"id":800,"main":"Clear","description":"clear 
sky","icon":"01n"}],"base":"stations","main": 
{"temp":46.49,"feels_like":35.37,"temp_min":45,"temp_max":48.2,"pressure":1018,"humidity":61},"visibility":10000,"wind":{"speed":13.87,"deg":210,"gust":20.8},"clouds":{"all":1},"dt":1606605601,"sys":{"type":1,"id":4861,"country":"US","sunrise":1606568201,"sunset":1606602118},"timezone":-21600,"id":4904381,"name":"Oak Park","cod":200}'

如何使这些数据可用?如何确保为正确的变量获取正确的数据?

【问题讨论】:

    标签: python string byte


    【解决方案1】:

    您需要使用 json 模块解析数据,该模块将其转换为您可以轻松导航的 dict。

    data = b'{"coord":{"lon":-87.74,"lat":41.9},"weather":[{"id":800,"main":"Clear","description":"clear sky","icon":"01n"}],"base":"stations","main":{"temp":46.49,"feels_like":35.37,"temp_min":45,"temp_max":48.2,"pressure":1018,"humidity":61},"visibility":10000,"wind":{"speed":13.87,"deg":210,"gust":20.8},"clouds":{"all":1},"dt":1606605601,"sys":{"type":1,"id":4861,"country":"US","sunrise":1606568201,"sunset":1606602118},"timezone":-21600,"id":4904381,"name":"Oak Park","cod":200}'
    
    import json
    data = json.loads(data.decode())
    
    lon = data["coord"]["lon"]
    lat = data["coord"]["lat"]
    temp = data["main"]["temp"]
    humidity = data["main"]["humidity"]
    

    【讨论】:

    • 非常感谢!我是使用 API 和 JSON 格式数据的新手,这对我很有帮助。
    猜你喜欢
    • 1970-01-01
    • 2021-05-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-28
    • 1970-01-01
    相关资源
    最近更新 更多