栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Json技术_json js?

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Json技术_json js?

一个帅气的boy,你可以叫我**loVe**
 ⌨个人主页:l。Ve的个人主页
如果对你有帮助的话希望三连支持一下博主

玩转Json

1、了解一下json函数2、观察json文档3 代码汇总4 总结


1、了解一下json函数
函数作用
json.dump将Python对象写入json文件
json.dumps将Python对象转换成json字符串
json.load从一个文件读取JSON类型的数据,然后转换成Python字典
json.loads将 json数据中的str 或 unicode 实例转换成字典

2、观察json文档

首先打开需要转化的json文档

{"com_province":"广西","com_address":"广西怡和花园门面房","com_scope":"许可经营项目:无 一般经营项目:中药材、中成药、中药饮片、化学药制剂、生化药品、生物制品、抗生素、保健品、普通诊查器械、物理治疗及康复设备、中医器械、医用卫生材料及辅料、医用高分子材料及制品的销售、预包装食品、乳制品(不含婴幼儿配方乳粉)、保健品的批发、保健食品、化妆品、卫生用品的销售。","com_industry":"F","com_city":"桂林市","com_register_time":"2018-6-10 00:00:00","id":10670,"com_county":"桂林市林昌县","com_name":"连锁有限责任公司第33药店"}

分析一下,需要的是省份、具体地址、日期、id、位置,也就是我们要从com_province、com_address、com_register_time、id、com_county入手
代码第一步导入数据

import json
f = open("json/one.json",'r',encoding='utf-8')
length = 0#记录计算了多少条数据

接下来读取数据每一行,每一行以字典形式读取,筛选出所需内容,并保存到新的.txt文件中

for line in f.readlines():
	length += 1
    dic = json.loads(line)
    t = dic['com_province'],dic['com_address'],dic['com_register_time'],dic['id'],dic['com_county']
	f = open("out/data.txt",'a',encoding='utf-8')
	f.writelines(str(t));f.write("n")

最后写入改变length跳数据,别忘了加上文件关闭代码哦

f.write(str(length))
f.close()

结果:

但是这种情况是不能用json.load(fp),因为JSONDecodeError: Extra data–>括号不匹配!
因为json格式正常情况下应该如下才可以正常用json.load(fp)输出,

[
	{
	"name":"flten",
	"category":"com",
	"count":1,
	"location":"北京",
	"time":"2020-7-2"
	},
	{
		"name":"flten",
		"category":"com",
		"count":1,
		"location":"山东",
		"time":"2020-7-2"
	}
]

因为json.load是读取文件属性的,所以操作应该为

with open(filename,'r',encoding='utf8') as file_obj:
    datas = json.load(file_obj)


3 代码汇总

json.load函数:

import json
f = open("json/one.json",'r',encoding='utf-8')
length = 0
for line in f.readlines():
    length += 1
    dic = json.loads(line)
    t = dic['com_province'],dic['com_address'],dic['com_register_time'],dic['id'],dic['com_city']
    f = open("out/data.txt",'a',encoding='utf-8')
    f.writelines(str(t));f.write("n")
f.write(str(length))
f.close()

json.loads函数:

import json
filename = ('json/two.json')
with open(filename,'r',encoding='utf8') as file_obj:
    datas = json.load(file_obj)
length = 0
for data in datas:
    length += 1
    dic = data
    t = dic['name'],dic['count'],dic['location'],dic['time']
    f = open("out/data1.txt",'a',encoding='utf-8')
    f.writelines(str(t));f.write("n")
f.write(str(length))
f.close()

4 总结

    总的来说json转txt格式并不困难,只是需要判断使用哪个函数,同时找到所需内容,一步步分析即可完成转换,附上Json格式默认情况下在解码中执行以下翻译(本文以object->dict为主):


(第二个其实是数组哦,用array->list也是可以的!可以自行思考一下哦。)

明天我们学习voc格式转yolo格式,我们不见不散!
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/782940.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号