提取数据处理02---结构化数据处理01(JSON文件、JSON模块包的基本使用)

JSON文件

处理方法

  • JSON Path
  • 转化成Python类型进行操作(json类)

JSON模块

在这里插入图片描述

转换格式对照

JSONPython
objectdict
arraylist
stringunicode
number(int)int,long
number(real)float
trueTrue
falseFalse
nullNone

loads与dumps

用于JSON字符串(注意:文本操作)

方法作用
json.loads()将包含了一个JSON数据的str、bytes、bytearray对象转化成一个Python Dictionary
josn.dumps()将Python对象转换为json对象

loads

import json

strList = '[1, 2, 3, 4]'
print(type(strList))
json.loads(strList)
print(type(json.loads(strList)))

在这里插入图片描述

strDict = '{"name": "张三", "age": "18"}'
print(type(strDict))
json.loads(strDict) # json数据自动按Unicode存储
print(type(json.loads(strDict)))

在这里插入图片描述
dumps

import json

listStr = [1, 2, 3, 4]
print(type(listStr))
json.dumps(listStr)
print(type(json.dumps(listStr)))

在这里插入图片描述

tupleStr = (1, 2, 3, 4)
json.dumps(tupleStr)
print(type(json.dumps(tupleStr)))

在这里插入图片描述

dictStr = {"name": "张三", "age": "18"}
print(type(dictStr))
json.dumps(dictStr)
print(type(json.dumps(dictStr)))

在这里插入图片描述

注意
  • json.dumps() 序列化时默认使用的ascii编码
  • 添加参数 ensure_ascii=False 禁用ascii编码,按utf-8编码
dictStr = {"name": "张三", "age": "18"}
json.dumps(dictStr, ensure_ascii=False)

在这里插入图片描述

load与dump

包换JSON的类文件对象(注意:文件操作)

方法作用
json.load将Python对象转换为json对象并写入文件
json.dump()读取文件中的json形式字符串并转化为python类型

json.dump(Data, file_object, Param)
①要存储的数据Data ②存储文件

load

import json
# 使用json.load提取类文件对象中的数据

strList = json.load(open("test.json"))
print strList

dump

# json.dump 能够把python类型放入类文件对象中

listStr = [{"name": "张三"}, {"age": "18"}]
json.dump(listStr, open("test.json","w"), ensure_ascii=False)

with open("test.json", "w", encoding="utf-8") as f:
    f.write(json.dumps(listStr,ensure_ascii=False, indent=2))
参数Params
参数作用
ensure_ascii默认值True ,False为关闭ASC11码,以文档中方式保存
indent自动缩进,美化格式
sort_keys将数据根据keys的值进行排序
encoding设置json编码格式,默认utf-8
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值