zoukankan      html  css  js  c++  java
  • json一次写入和读取多条数据

     json数据:一种轻量级的标准数据的交换格式,各种语言数据传输的一种格式

    dumps和dump都是将python的数据类型序列化成json对象

    import json
    dic = {'name': 'rock', 'li': [1, 2, 3, 4]}
    json_obj = json.dumps(dic)
    print(json_obj, type(json_obj))
    

      

    loads和load 是将json对象 反序列化 成python语言或者其他语言的数据类型

    s = '{"name": "rock", "li": [1, 2, 3, 4]}' # json数据的字符串一定要用双引号
    di = json.loads(s)
    print(di, type(di))
    

    json一次写入多条数据

    import json
    dic = {'name': 'rock', 'hobby_list': ['跑步', '打球']}
    
    f1 = open('json_learn', 'a', encoding='utf-8')
    d = json.dumps(dic)
    # f1.write(d)   # 一定要换行
    f1.write(d + '\n')   # 一定要换行
    f1.close()
    
    f2 = open('json_learn', 'r', encoding='utf-8')
    for con in f2:
        data = json.loads(con)
        print(data)
    f2.close()

    json中的字典的键必须是字符串

    # 坑     json中的键必须是字符串
    dic1 = {1: 'rock', 2: 33}
    dic3 = {55: 'rock', 8: 33}
    d = json.dumps(dic1)
    print(d)
    print(json.loads(d))

     json显示中文

    # ensure_ascii=False 显示中文
    # sort_keys 按键排序
    # separators=('|',',') 设置分隔符 s = json.dumps(dic1, ensure_ascii=False, sort_keys=True,separators=('|', ',')) print(s) s1 = json.dumps(dic1) print(s1)

    dump和load写入读取文件,只能写入读取一条数据,多条报错

    import json
    dic1 = {'name': 'rock'}
    dic2 = {'name': 'chen'}
    dic3 = {'name': 'zi'}
    with open('多个字典.json', encoding='utf-8', mode='w') as f1:
           json.dump(dic1, f1)
           f1.write('\n')
           json.dump(dic2, f1)
           f1.write('\n')
           json.dump(dic3, f1)
           f1.write('\n')
    
    with open('多个字典.json', encoding='utf-8',) as f1:
           ret1 = json.load(f1)
           ret2 = json.load(f1)
           ret3 = json.load(f1)
  • 相关阅读:
    springboot 无法访问静态资源
    webrtc源码阅读理解一
    c++ include的顺序重要吗?
    简说yuv
    i420 转 nv21
    ffmpeg mp4 转 yuv、 y4m转yuv、mp4转y4m && ffplay 播放y4m、yuv
    mysql 查询json字符串条件
    Webpack4.X中sourcemap的配置 详解
    webpack如何打包生成的map文件不生效?
    vue中使用setInterval,移入暂停,移出继续
  • 原文地址:https://www.cnblogs.com/chen55555/p/10246730.html
Copyright © 2011-2022 走看看