前言

有些文件长得像json的键值对格式,但又不完全是。有时需要提取出其中某些值,可以先手动处理成json文件,然后用python的json模块。

示例1:每行键值对

提取其中的caseId的值

{"isself":"1","reason":"","caseId":"123456","callResult":"1","attitude":"0"}
{"callFailReason":"不确定","caseId":"234567","callResult":"0"}
{"callFailReason":"暂时无法连接","caseId":"345678","callResult":"0"}
{"callFailReason":"暂时无法连接","caseId":"456789","callResult":"0"}
{"callFailReason":"超时","caseId":"567891","callResult":"0"}
{"callFailReason":"暂时无法连接","caseId":"678912","callResult":"0"}
...
{"callFailReason":"暂时无法连接","caseId":"789123","callResult":"0"}
  1. 使用sed在行尾批量插入,
sed -i 's/$/,/g' ./test.txt
  1. 手动在文件开始的地方和文件末尾添加中括号,删除最后一行的逗号,接着后缀名改为.json。最终处理示例:
[{"isself":"1","reason":"","caseId":"123456","callResult":"1","attitude":"0"},
{"callFailReason":"不确定","caseId":"234567","callResult":"0"},
...
{"callFailReason":"暂时无法接通","caseId":"345678","callResult":"0"}]
  1. 编辑python脚本:process_jsonlike.py
import json

with open("test.json","r",encoding="utf-8") as f1:
rst = json.load(f1) with open("rst.txt", "a",encoding="utf-8") as f2:
for i in rst:
caseid = i["caseId"]
f2.write(f"{caseid}\n")
  1. 查看结果文件:rst.txt
head rst.txt

未完待续

占位

python处理类似json的文件的更多相关文章

  1. python cookbook第三版学习笔记七:python解析csv,json,xml文件

    CSV文件读取: Csv文件格式如下:分别有2行三列. 访问代码如下: f=open(r'E:\py_prj\test.csv','rb') f_csv=csv.reader(f) for f in ...

  2. Python基础之JSON

    作用 对Python对象进行序列化,便于存储和传输 Python对象与JSON字符串相互转换 Python对象转JSON字符串 import json data = [ { 'a' : 1, 'b' ...

  3. (Python )格式化输出、文件操作、json

    本节学习Python的格式化输出,文件操作以及json的简单用法 1.格式化输出 将非字符串类型转换成字符串,可以使用函数:str() 或者repr() ,(这两个函数的区别目前我还没搞懂,求解答) ...

  4. python脚本解析json文件

    python脚本解析json文件 没写完.但是有效果.初次尝试,写的比较不简洁... 比较烦的地方在于: 1,中文编码: pSpecs.decode('raw_unicode_escape') 2,花 ...

  5. python3.4学习笔记(二十六) Python 输出json到文件,让json.dumps输出中文 实例代码

    python3.4学习笔记(二十六) Python 输出json到文件,让json.dumps输出中文 实例代码 python的json.dumps方法默认会输出成这种格式"\u535a\u ...

  6. Python实现类似JavaScript 的Json对象

    Python实现类似JavaScript 的Json对象 用过js的都知道 js中json也是一个对象,所以可以直接通过class.attr 取值,当attr不存在时也不会报错,那么Python可不可 ...

  7. python中读取json文件报错,TypeError:the Json object must be str, bytes or bytearray,not ‘TextIOWrapper’

    利用python中的json读取json文件时,因为错误使用了相应的方法导致报错:TypeError:the Json object must be str, bytes or bytearray,n ...

  8. 解决python 保存json到文件时 中文显示16进制编码的问题

    python 2.7 import codecs import json with codecs.open('Options.json', 'w', encoding='utf-8') as f: j ...

  9. 【python】将json串写入文件,并以json格式读取出来

    写json--json.dumps 代码: import json #要写入文件的json串(dict格式) result ={', 'https://appapi.xxxx.com/appapi/b ...

  10. python 生成json格式文件,并存储到手机上

    上代码 #!/usr/bin/env python # -*- encoding: utf-8 -*- import json import os import random "" ...

随机推荐

  1. sh: vue-cli-service: command not found

    mac环境下运行vue项目报错sh: vue-cli-service: command not found 解决方法:cd到项目目录下,执行命令sudo rm -rf node_modules pac ...

  2. 获取scrollTop的方法(兼容所有浏览器)

    /** *获取scrollTop的值,兼容所有浏览器 */ function getScrollTop() { var scrollTop = document.documentElement.scr ...

  3. 2020-10-29:使用redis实现分布式限流组件,要求高并发场景同一IP一分钟内只能访问100次,超过限制返回异常,写出实现思路或伪代码均可。

    福哥答案2020-10-29: 简单回答:固定窗口:string.key存ip,value存次数.滑动窗口:list.key存ip,value=list,存每次访问的时间. 中级回答:固定窗口:用re ...

  4. 2022-04-06:go中proto文件能跨平台,那是因为能生成不同语言的代码,做框架开发用protoc+插件生成代码是不合适的,需要解析,请问如何解析?

    2022-04-06:go中proto文件能跨平台,那是因为能生成不同语言的代码,做框架开发用protoc+插件生成代码是不合适的,需要解析,请问如何解析? 答案2022-04-06: go get ...

  5. 2022-02-09:k8s安装redis,yaml如何写?

    2022-02-09:k8s安装redis,yaml如何写? 答案2022-02-29: apiVersion: apps/v1 kind: Deployment metadata: labels: ...

  6. springboot mvc配置原理+扩展springmvc(重点)

    1.新建config目录 2.在config目录下创建自定义配置类 3.根据官方文档得到要有注解@Configuration并且继承类WebMvcConfigurer 扩展springmvc:我们慢慢 ...

  7. 移动App测试概述:移动App特性

    移动App测试概述:移动App特性 移动App在现代人的日常生活中扮演着越来越重要的角色,因而对于它们的质量和稳定性的要求也越来越高.为了确保App的质量,开发商需要进行充分的测试和检验.本文将讨论移 ...

  8. ISIS 综合实验;BGP 实验

    目录 ISIS 综合实验 实验拓扑 实验需求 实验步骤 1.配置相应接口IP地址及环回口地址 2.配置 IS-IS,要求全网互通,R8的Loop X口暂不宣告 3. R1和R3直连,要求 R3 成为 ...

  9. error: #20: identifier "arm_cfft_instance_f64" is undefined

    在使用Keil5的过程中,偶尔遇到这个问题,以及类似的问题,报错的数量大概200多个. error type>(42): error: #20: identifier "arm_cff ...

  10. gateway异常:DefaultDataBuffer cannot be cast to org.springframework.core.io.buffer.NettyDataBuffer

    启动gateway后 出现java.lang.ClassCastException: org.springframework.core.io.buffer.DefaultDataBufferFacto ...