对JSON文件中的组进行排序

时间:2019-06-20 12:07:43

标签: python pycharm

我正在尝试从JSON页面('https://oa.ceair.com/common_source/airport/en_AU.json?v=1561031507803&_=1561031507712')中收集一些信息,并将其转换为本地硬盘上的文本文件。 更具体地说,我只需要“匹配”,“标签”和“值”上的字符串。

import os, re, requests
def getCity():

  url='https://oa.ceair.com/common_source/airport/en_AU.json? 
       v=1561031507803&_=1561031507712'
  response=requests.get(url,verify=True)
  city=re.findall('([A-Z]+)',response.text)
  city=str(city)
  write(city)

使用上面的代码,信息已成功输入到另一个文本文件中,但是其中包含所有原始数据。

1 个答案:

答案 0 :(得分:1)

由于它是 json ,因此使用起来很容易。请求具有内置支持。响应的json方法返回一个dict,我们可以轻松使用它:

import requests

response = requests.get(r"https://oa.ceair.com/common_source/airport/en_AU.json?v=1561031507803&_=1561031507712", verify=True)
airports = response.json()

with open(r"airport_info.txt", "wt") as f:
    for airport in airports:
        f.write(f"match: {airport['match']}\n") # Literal string interpolation
        f.write(f"label: {airport['label']}\n") # See https://realpython.com/python-f-strings/
        f.write(f"value: {airport['value']}\n")

airport_info.txt看起来像这样,需要1258行:

match: SYD,SYDNEY KINGSFORD SMITH APT,XiNiJinSiFuTe·ShiMiSiJiChang,XNJSFT·SMSJC
label: SYDNEY KINGSFORD SMITH APT, SYD
value: SYD
match: MEL,MELBOURNE,MoErBen,MEB
label: MELBOURNE, MEL
value: MEL