python中json格式处理和字典的关系
作者:流花飞羽8 发布时间:2021-04-10 04:35:12
标签:python,json,格式,字典
前言:作为测试工程师都知道,json格式的文件使我们常用的一种数据存放形式,那么对于python文件的处理,python语言有着得天独厚的条件,json的本质是键值对形式存储的,这就非常像python语言中的字典,所以有很多字典形式的函数与方法,是直接可以使用的。
今天我们先讲一下编写python脚本处理json的核心功能,有些散乱,后期在进行整体脚本的编写。
1、json文件读取后的操作
json文件读取后的操作和字典的操作一样,可以将dict中相关的内置方法都继承过来,但是json文件中会有list形式和dict形式的混合存在。
此时要注意区分。
json文件数据结构走的是dict的结构,键值对
(1)修改值非常方便,
json["id"]=3001
(2)修改键就麻烦一点。
dict字典没有直接修改键的概念与方法,
修改键:先把原有的键值对删除,在添加新的键值对,注意获取旧键值对的value,传递给新的键值对的value
获取value:value=json['request']["session_id"]
删除键值对:json['request'].pop("session_id")
新增键值对:json['request'].setdefault("operation_id",value)
2、python递归路径文件夹中的所有文件
def jsonfilePath_read(inputfilePath, outfilepath):
rightCount = 0
errorCount = 0
for file in os.listdir(inputfilePath):
try:
print(file)
read_jsonfile_change2(str(inputfilePath + '/' + file), outfilepath + '/' + file)
print(file + '修改成功')
rightCount += 1
except:
print(file + '文件有误修改失败')
errorCount += 1
print('文件修改完成 ', rightCount, '个文件成功', errorCount, '个文件有误')
解说核心代码:
核心代码:
for file in os.listdir(inputfilePath):
#file就是当前路径中的所有文件名,使用的时候别忘了路径+'/' + file
try:
....inputfilePath + '/' + file
except:
print().....
3、json文件的读取与写入新文件
读一遍写一遍可以实现json的格式化,解决json在txt文件中是单行显示的问题。
# 读取文件
with open('file/test.json', 'r', encoding='utf8') as f:
json_data = json.load(f)
jsondict = json_data
# 写入新文件
with open('outfile/test.json', 'w', encoding='utf8') as r:
json.dump(jsondict, r, ensure_ascii=False, indent=4)
print('新文件生成完成')
核心点说明:
读取、写入encoding='utf8' 防止编码问题 indent=4,好像是空4个格,美观输出
来源:https://blog.csdn.net/u013521274/article/details/125119342


猜你喜欢
- 将无权点文件转化成邻接矩阵目前点文件是两列Excel代码,在进行复杂网络运算时需要转化成邻接矩阵。我在网上找了一个代码,稍微修改了下,亲测可
- 一、多层前向神经网络多层前向神经网络由三部分组成:输出层、隐藏层、输出层,每层由单元组成;输入层由训练集的实例特征向量传入,经过连接结点的权
- 大家一定使用过 phpmyadmin 里面的数据库导入,导出功能,非常方便。但是在实际应用中,我发现如下几个问题: 1、数据库超过一定尺寸,
- 算法思路Knuth-Morris-Pratt(KMP)算法是解决字符串匹配问题的经典算法,下面通过一个例子来演示一下:给定字符串"
- Django的信号Django的信号机制不同于Linux的信号机制,Django 中的信号用于在框架执行操作时解耦。当某些动作发生的时候,系
- 今天接到一任务,有一张学生信息表(Excel表),里面有一万多条记录,现在要把这张表导入到数据库中,并设置学生学号为主键,但是现在这张表中的
- 本文为大家分享了python操作excel的包,供大家参考,具体内容如下现在支持python操作excel的包有下列这些官网上最推荐的是op
- 1、标准转换格式符号说明%a 本地星期的短名称 如:Sun, Mon, ..., Sat (en_US); So, Mo, ..., Sa
- 提到序列化与反序列化,通常会想到 json ,xml .在J2EE的开发中,这是很常用的技术,比如一个java class与xml之间的序列
- 交互设计师的一项重要工作就是进行产品原型设计(Prototype Design)。而产品原型设计最基础的工作,就是画出站点的大体wirefr
- 让我们首先考虑正方形和长方形。如果我们认为在接口方面,忽略了实现细节,方块是否是矩形的子类型?子类型的定义取决于Liskov代换原理。为了成
- 为方便用ipset 来管理防火墙,写了下面Ipset类来对Ip进行管理#!/usr/bin/env python# coding: utf-
- PyQt5是强大的GUI工具之一,通过其可以实现优秀的桌面应用程序。希望通过一个简单的登录页面可以让大家顺利入坑,如有不妥之处还请大佬指点改
- key123456value25201510530字典P={1:10,2:25,3:5,4:15,5:20,6:30}有以下3种迭代器:P.
- 本文实例讲述了python字典序问题,分享给大家供大家参考。具体如下:问题描述:将字母从左向右的次序与字母表中的次序相同,且每个字符最大出现
- Go 语言中 encoding/json 包可以很方便的将结构体、数组、字典转换为 json 字符串。引用import "enco
- 前言本文主要介绍了关于利用python将图片转换成excel文档的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。
- int 数字python 有3种数字类型int: 整数类型float: 浮点类型complex: 复数类型int类型#Int或整数是完整的数
- php本身没有提供返回毫秒数的函数,但提供了一个microtime()函数,该函数返回一个array,包含两个元素,一个是秒数,一个是小数表
- 本文实例讲述了django框架模板语言使用方法。分享给大家供大家参考,具体如下:模板功能作用:生成html界面内容,模版致力于界面如何显示,