简体   繁体   English

如何获取 JSON 数据并按 PYTHON 排序

[英]HOW CAN GET JSON DATA AND SORT IT BY PYTHON

I am searching for a long time on net.我在网上找了很久。 But no use.但是没有用。 Please help or try to give some ideas how to achieve this.请帮助或尝试提供一些想法如何实现这一目标。 When I use order:print(html.text),get all jsondata: [{"Site":"屏東(琉球)","county":"屏東縣","PM25":"6","DataCreationDate":"202 0-04-19 03:00","ItemUnit":"μg/m3"}, {"Site":"臺南(北門)","county":"臺南市","PM25":"25","DataCreationDate":"2020-04-19 03:00","ItemUnit":"μg/m3"}, ....................................当我使用 order:print(html.text) 时,获取所有 jsondata: [{"Site":"屏东(琉球)","county":"屏东县","PM25":"6","DataCreationDate ":"202 0-04-19 03:00","ItemUnit":"μg/m3"}, {"站点":"台南(北门)","县":"台南市","PM25": "25","DataCreationDate":"2020-04-19 03:00","ItemUnit":"μg/m3"}, .................... ......

If I use order: for Site in jsondata:.....,I only get data:如果我使用 order: for Site in jsondata:.....,我只得到数据:

SITE:基隆CYTY:基隆市P25:21DATE:2020-04-19 14:00UNIT:μg/m3 Why? SITE:基隆CYTY:基隆市P25:21DATE:2020-04-19 14:00UNIT:μg/m3 为什么? thank you for your answer sincerely真诚地感谢您的回答

import json
import requests
url1 = '[https://opendata.epa.gov.tw/ws/Data/ATM00625/?$format=json][1]'
html = requests.get(url1)
# html.encoding = "BIG5"
html.encoding = html.apparent_encoding
# print(html.text)
jsondata = eval(html.text)
# jsondata = json.loads(html.text)
for Site in jsondata:
    Sitename = Site["Site"]
    countyname = Site["county"]
    PM25name = Site["PM25"]
    DataCreationDatename = Site["DataCreationDate"]
    ItemUnitname = Site["ItemUnit"]
print("SITE:" + Sitename + "CYTY:" + countyname + "P25:" + PM25name + "DATE:" + DataCreationDatename + "UNIT:" + ItemUnitname)

Always remember not to use eval() when you have json.loads() :当你有json.loads() ) 时,永远记住不要使用eval() ) :

import json
import requests
url1 = 'https://opendata.epa.gov.tw/ws/Data/ATM00625/?$format=json]'
html = requests.get(url1)
html = html.decode('utf8')
html = json.loads(html)
for Site in html:
    Sitename = Site["Site"]
    countyname = Site["county"]
    PM25name = Site["PM25"]
    DataCreationDatename = Site["DataCreationDate"]
    ItemUnitname = Site["ItemUnit"]
    print("SITE:" + Sitename + "CYTY:" + countyname + "P25:" + PM25name + "DATE:" + DataCreationDatename + "UNIT:" + ItemUnitname)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM