当前位置: 首页 > news >正文

Python 解析 JSON 数据

1、有如下 JSON 数据,存放在 data.json 文件:

[{"id":1, "name": "小王", "gender": "male", "score": 96.8},
{"id":2, "name": "小婷", "gender": "female", "score": 95.5},
{"id":3, "name": "小崔", "gender": "male", "score": 80.5}]

2、写一个 python 脚本(test1.py)解析这个文件:

# 导入 python 内置的 json 模块
import json# 读取 JSON 文件
input_path = r"C:\Users\Administrator\Desktop\py\study\data.json"
# 解析完的 JSON 数据存放的输出文件
output_path = r"C:\Users\Administrator\Desktop\py\study\result.txt"# 以只读(r:read)的方式打开 输入文件
with open(input_path, 'r', encoding='utf-8') as file:# 将 JSON 数据加载到变量 data 中data = json.load(file)# 以追加 (a:append) 的方式打开 输出文件
output_file=open(output_path, 'a', encoding='utf-8')# 如果 JSON 数据是一个列表,可以遍历列表中的元素
if isinstance(data, list):# enumerate 函数可以方便地同时获取索引(i)和元素值(item)for i, item in enumerate(data):# \n 转义字符,换行的意思 i 是个数字,需要用 str() 函数转换为字符串类型# 打印在屏幕print('\n'+str(i+1)+'、'+item['name']+'的个人资料')# 输出在文件output_file.write('\n'+str(i+1)+'、'+item['name']+'的个人资料')output_file.write('\n 性别:'+item['gender']) output_file.write('\n 得分:'+str(item['score']))# 关闭文件,防止资源泄露
output_file.close()

3、在脚本所在路径,打开 powershell.exe,运行这个脚本:

result.txt 输出数据如下:


像这种简单的脚本程序,现在都可以叫 AI (比如豆包) 帮我们写:


4、扩展:

字符串前面加 r 是什么意思?

r/R  字符串前面加大R或者小r,是原始字符串。所有的字符串都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符。

我们知道,\  反斜杠在python中是转义字符,比如 \n 就是 换行。转换了原来 n 字符的原始意思,变为 换行。

print('n')
输出   nprint('\n')
输出换行

而 window 系统中,磁盘路径,又都是用 \ 反斜杠表示的,

如果直接把它作为文件路径,python 会报错:

有两种解决方式:

1)\\   两个反斜杠,字面意思,以 \ 转义掉原来 \ 转义的含义,变为输出 \

但这毕竟比较麻烦,所以有第二种方法

2)在字符串前面加 r,忽略掉字符串里面 \ 的转义含义,让它原样输出 \

5、应用

python 解析 JSON 文件的应用很广泛,就比如,可以用来解析,抓包软件 Charles 的 session 文件。 


http://www.mrgr.cn/news/27470.html

相关文章:

  • ISP是什么?
  • 用指针遍历数组
  • 生成式GPT商品推荐:精准满足用户需求
  • 在Node.js中如何使用TypeScript
  • PHP大模型深度学习库TransformersPHP 安装体验
  • 网页作业9
  • C/C++内存管理——内存泄漏/内存碎片
  • Ubuntu 22.04.5 LTS 发布下载 - 现代化的企业与开源 Linux
  • 接入 API 接口之前,你必须清楚的那些事儿
  • 第十二周:机器学习笔记
  • 资料分析(2021-2024国考)
  • C语言:链表
  • C#命令行参数解析库System.CommandLine介绍
  • 9.15学习记录
  • [记录一个bug]流媒体服务瓶颈排查
  • 腾讯云技术深度探索:构建高效云原生微服务架构
  • 华为项目管理培训产品总监兼首席架构师刘钊受邀为第四届中国项目经理大会演讲嘉宾
  • 13 Midjourney从零到商用·进阶篇:灯光、角度与风格等精细控制方法
  • EDC与 ClearingHouse 相关的库和模块
  • 工作流activiti笔记(三)坑!!!手把手!!
  • 安全第一:API 接口接入前的防护性注意要点
  • Python:抓取 Bilibili(B站)评论、弹幕、字幕等
  • 2024_中秋国庆双节来临 祝CSDN所有开发者与网站节日快乐
  • 探索广东省自闭症寄宿学校的独特教育模式
  • Python基础学习(1)
  • C++ ——日期类的实现和注释浅解