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') 输出 n print('\n') 输出换行
而 window 系统中,磁盘路径,又都是用 \ 反斜杠表示的,
如果直接把它作为文件路径,python 会报错:
有两种解决方式:
1)\\ 两个反斜杠,字面意思,以 \ 转义掉原来 \ 转义的含义,变为输出 \
但这毕竟比较麻烦,所以有第二种方法
2)在字符串前面加 r,忽略掉字符串里面 \ 的转义含义,让它原样输出 \
以上就是Python解析JSON数据的示例代码的详细内容,更多关于Python解析JSON数据的资料请关注脚本之家其它相关文章!
相关文章
Python使用tkinter模块实现GUI界面的学生信息管理系统流程分步详解
这篇文章主要为大家详细介绍了python实现简易学生信息管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2023-01-01Mac系统中Anaconda环境配置Python json库的方法详解
这篇文章主要为大家介绍了如何在Mac电脑的Anaconda环境中,配置Python语言中,用以编码、解码、处理JSON数据的json库,需要的小伙伴可以参考下2023-08-08
最新评论