您当前的位置:首页 > 计算机 > 编程开发 > Python

python——json文件的读取

时间:01-16来源:作者:点击数:

Json文件也是一个文本文件,可以使用read() 和 write() ,但不方便,所以使用自己独特的方法

Json文件的语法:

  主要数据类型为对象{}(类似Python中的字典)和数组[] (类似Python中的列表)

  Json文件的最外层要么是一个对象{},要么是一个数组[]

  Json中的对象是由键值对组成,每个数据之间用逗号隔开,最后一个数据后无逗号

  Json中的字符串必须使用双引号

Json文件的书写:

  {
    "name": "熊猫",
    "like": [
      "听歌",
      "看书",
      "运动"
    ],
    "address": {
      "country": "中国",
      "city": "上海"
    }
  }

读取Json文件

1、导包 2、读打开文件 3、读取文件 json.load(文件对象)

# 返回值是字典(文件中是对象)或列表(文件中是数组)

eg1:

# 1、导入包
import json

# 读打开文件
with open('Info.json', encoding='utf-8') as a:
    # 读取文件
    result = json.load(a)
    # 获取姓名
    print(result.get('name'))  # 熊猫
    # 获取城市
    print(result.get('address').get('city'))  # 上海

eg2:提取Json文件中指定数值,组成[{},{}]格式 (自动化参数化需要的数据格式)

Json文件:

[
  {
    "name": "熊猫",
    "like": "听歌",
    "address": "上海"
  },
  {
    "name": "老虎",
    "like": "运动",
    "address": "北京"
  }
]

代码:

# 1、导入包
import json

# 读打开文件
with open('Info.json', encoding='utf-8') as a:
    # 读取文件
    result = json.load(a)
    # 定义一个空数组
    new_list = []
    # 循环遍历
    for i in result:  # i是个字典
        # (i.get('name'), i.get('like'), i.get('address'))
        # 熊猫 听歌 上海
        # 老虎 运动 北京
        new_list.append((i.get('name'), i.get('like'), i.get('address')))  # 将获取的值存入数组中
    print(new_list)  # [('熊猫', '听歌', '上海'), ('老虎', '运动', '北京')]

写入Json文件

1、导包 2、写(w)方式打开文件 3、写入 json.dump(文件类型,文件对象)

my_list = [('熊猫', '听歌', '上海'), ('老虎', '运动', '北京')]
with open('Info2.json', 'w', encoding='utf-8') as b:
    # ensure_ascii 显示中文,不以ASCII的方式显示
    json.dump(my_list, b, ensure_ascii=False, indent=2)  # indent 缩进

Info2.json:

[
  [
    "熊猫",
    "听歌",
    "上海"
  ],
  [
    "老虎",
    "运动",
    "北京"
  ]
]
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门