参考博客:

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. 高斯消元+期望dp——light1151

    高斯消元弄了半天没弄对.. #include<bits/stdc++.h> using namespace std; #define maxn 205 #define eps 1e-8 d ...

  2. React中的this.props.children

    React this.props.children this.props对象的属性与组件的属性一一对应,但是有一个例外,就是this.props.children属性.它表示组件的所有子节点. var ...

  3. Python高质量缩放切图,抗锯齿

    最近刚接触Python,以迅雷不及掩耳盗铃之势(只是迫不及待)应用到工作中去了之前用 cmd+photoshop做批量图像处理(缩放切片),在执行效率(速度)上和灵活度上有很大限制,遂转战Python ...

  4. 大数据、AI“武装”企业服务:风控、检索、安全

    大数据.AI“武装”企业服务:风控.检索.安全 小饭桌创业课堂2017-05-06 15:26:42阅读(127)评论(0) + - 文|吴杨可月 - - 小饭桌创业研究院出品 - 两件秘闻,将美国大 ...

  5. 汇编语言LAHF和SAHF指令

    LAHF(加载状态标志位到 AH)指令将 EFLAGS 寄存器的低字节复制到 AH.被复制的标志位包括:符号标志位.零标志位.辅助进位标志位.奇偶标志位和进位标志位.使用这条指令,可以方便地把标志位副 ...

  6. 05.Hibernate常用的接口和类---Configuration类和作用

    Configuration作用: 加载Hibernate配置文件,可以获取SessionFactory对象 加载方式: 1.加载配置文件 Configuration configuration = n ...

  7. 【python之路45】tornado的用法 (三)

    参考:https://www.cnblogs.com/sunshuhai/articles/6253815.html 一.cookie用法补充 1.cookie的应用场景 浏览器端保存的键值对,每次访 ...

  8. javascript的Touch事件

    js的touch事件,一般用于移动端的触屏滑动 $(function(){document.addEventListener("touchmove", _touch, false) ...

  9. substring() 方法用于提取字符串中介于两个指定下标之间的字符。

    substring() 方法用于提取字符串中介于两个指定下标之间的字符. 语法 stringObject.substring(start,stop) 参数 描述 start 必需.一个非负的整数,规定 ...

  10. spring cloud深入学习(八)-----配置中心svn示例和refresh

    svn版本 同样先示例server端的代码,基本步骤一样. 1.添加依赖 <dependencies> <dependency> <groupId>org.spri ...