参考博客:

https://www.cnblogs.com/bigberg/p/6430095.html

https://zhidao.baidu.com/question/717320833852811685.html

如何把json1文件中的部分满足条件的条目提取出来?也就是删除自己不需要的条目。

我使用的是一个最笨拙的方法,就是把json1文件中的数据一条条json行转化为字典进行查看,如果满足条件则另存成一个json2文件里面。

1、加载json库:

import json

2、打开json1文件用于读取:

aminerFile = open(r'...\json1.txt','r')

3、打开json2文件用于写入:

with open(r'...\json2.txt','w') as jsonFile:

4、按行读取json1文件:

for jsonLine in aminerFile:

5、字符串格式转化成字典格式:

lwPythonLine = json.loads(jsonLine)

6、判断当前行是否满足我们所要求的条件(我这边是判断当前行中是否有’r‘属性,且’r‘值的长度不能低于20维则保存,其他的丢弃):

if ('r' in lwPythonLine) and len(lwPythonLine['r']) >= 20:

7、如果满足条件则将当前行写入到json2文件中,同时随后在json2文件中插入换行符,是的json数据一条一条的存放,而不是一个大段:

     json.dump(lwPythonLine, jsonFile)
8 jsonFile.write('\n')

就完成了,代码全部为:

import json
aminerFile = open(r'...\json1.txt','r')
with open(r'...\json2.txt','w') as jsonFile:
for jsonLine in aminerFile:
lwPythonLine = json.loads(jsonLine)
if ('r' in lwPythonLine) and len(lwPythonLine['r']) >= 20:
json.dump(lwPythonLine, jsonFile)
jsonFile.write('\n')

热烈欢迎批评指正!

python 关于如何把json文件里面的多条数据删除,只保留自己需要的条目的更多相关文章

  1. Python中yaml和json文件的读取和应用

    Python对yaml和json文件的读取: yaml文件读取: 首先创建一个yaml文件test.yaml import yaml   #引入包 f=open(path)  #建立Python的文件 ...

  2. 一文综述python读写csv xml json文件各种骚操作

      Python优越的灵活性和易用性使其成为最受欢迎的编程语言之一,尤其是对数据科学家而言.这在很大程度上是因为使用Python处理大型数据集是很简单的一件事情. 如今,每家科技公司都在制定数据战略. ...

  3. python 读空的json文件

    读空的json文件,python2和python3 的错误提示是不一样的 python2: ValueError: No JSON object could be decoded python3: j ...

  4. 使用json文件给es中导入数据

    使用json文件可以给es中导入数据,10万条左右的数据可以一次导入,数量太大时导入就会报错.大数量的到导入还是需要用bulk方式. accounts.json文件格式如下: {"index ...

  5. python字典保存至json文件

    import os import json class SaveJson(object): def save_file(self, path, item): # 先将字典对象转化为可写入文本的字符串 ...

  6. Python学习笔记:json模块和pickle模块(数据序列化)

    Python中的json模块和pickle都是用于数据的序列化和反序列化,它们提供的方法也是一样的:dumps,dump,loads,load dumps(obj):将对象序列化为str. dump( ...

  7. 解决Python自带的json不能序列化data,datetime类型数据问题

    官方文档中的一个Demo: >>> import json >>> class ComplexEncoder(json.JSONEncoder): ... def ...

  8. Python开发【笔记】:pymsyql 插入一条数据同时获取新插数据的自增id的两种方式

    一.通过cursor.lastrowid import pymysql.cursors # Connect to the database connection = pymysql.connect(h ...

  9. 160802、1.06s删除10w条重复记录只保留一条(mysql)及linux删除乱码文件

    上次发表过的一遍删除重复记录的文章,其中最优的方案三删除1w条也花了0.07秒而2w条就已经花掉了4秒.今天进行了进一步优化,测试删除10w条只花了1.06秒.速度提升了很多. 建表语句 CREATE ...

随机推荐

  1. UNION操作用于合并两个或多个 SELECT 语句的结果集。

    UNION操作用于合并两个或多个 SELECT 语句的结果集. 大理石平台价格 使用示例: $Model->field('name') ->table('think_user_0') -& ...

  2. HAVING方法也是连贯操作之一

    HAVING方法也是连贯操作之一,用于配合group方法完成从分组的结果中筛选(通常是聚合条件)数据. having方法只有一个参数,并且只能使用字符串,例如: $this->field('us ...

  3. 0809NOIP模拟测试赛后总结

    终于有点脸单独建一个随笔写一下考试总结了…… T1一眼组合数学,推了一会儿式子发现恐怕是容斥.突然害怕,于是开始大力dp. 然后骗了70分走人hhh. T2挂了……又读错题了……以为必须相邻,然后就原 ...

  4. Redis学习目录

    目录   持续更新... Redis简介 Redis安装及基本配置 Redis持久化 Redis开发及管理实战 Redis高可用及集群 Redis多API开发  

  5. Glassfish安装、基本使用、在idea中配置Glassfish

    Glassfish安装.基本使用. 一.glassfish简介 glassfish是一款web应用服务器,和tomcat一样,也是一款优秀的Servlet容器. 二.glassfish知识点 1.do ...

  6. day 41 前端之前端初识

    前端之前端初识   前端初识 本节目录 一 web标准 二 浏览器介绍 三 开发工具介绍 四 HTML介绍 五 HTML颜色介绍 六 规范 七 HTML结构详解 一 web标准 web准备介绍: 1. ...

  7. PAT甲级——A1096 Consecutive Factors【20】

    Among all the factors of a positive integer N, there may exist several consecutive numbers. For exam ...

  8. Linux CentOS CapsLock 大小写反转问题 解决

    虚拟机centos7,输入大小写字母反了,开启capslock的时候变成小写字母了,关闭则变成大写了... 只需要执行 setleds +caps 或 setleds -caps 即可,如图:

  9. 实例测试java的Integer转String的效率问题1.8

    原文链接:https://blog.csdn.net/chicaohun7473/article/details/100851373 查看String源码时,读到源码的toString方法时,打算探究 ...

  10. xsd解析xml

    下面讲述根据xml生成对应序列化反序列化类的过程,xml需要首先转化为xsd,然后再生成为实体类.其中,XSD是XML Schema Definition的缩写. 1.拥有一个xml文件 2.打开vs ...