处理大数据有很多要用到json文件,存成json文件格式或者要读取。搜集了一些资料简单整理一下
首先导入json包
import json
json文件主要有两个方法:数据——json文件之间的两种转换方法。
json.loads(data) #从字符串中读取json数据文件
json.dumps(data) #将json数据人家格式化为字符串
写json文件
data的数据类型如下:
#首先要有一个字典
dict1={
'name':'zzh',
'age':7
}
dict2={
'name':'zjl',
'age':2
}
#然后把一个或多个字典变成list
data=[dict1,dict2]
#然后用json函数转成字符串
data_output=json.dumps(data)
#然后开一个文件写进去
with open('test.json','w+') as f:
f.write(data_output)
但是这样做中文字符会被转码成ascii码,而且格式不清晰。这时候要用到json.dumps里的其它参数
skipkeys:默认False,一般用不到。字典dict的key类型一般是str, int, float, bool or None,当它不是这些类型,比如tuple时,将 skipkeys换为True,函数会跳过tuple类型的key。会损失数据,但是不报错。
ensure_ascii:默认True,是否转换ascii码。将这个改成False就会输出中文了。# json.dumps(data, ensure_ascii=False)
check_circular:默认True,没遇到过不知道
allow_nan:默认True,没遇到过不知道
cls:默认None,没遇到过不知道
indent:默认None,设置字典格式缩进。填缩进格数,一般是2或者4.
separators:默认None,去空格。# json.dumps(data, separators=(',',':')) 去除逗号和冒号后面的空格
default:默认None,没遇到过不知道
sort_keys:默认False,改成True可以让字典内容顺序输出,相当于加一个sort
读取json文件
#先开一个文件读进来
with open('test.json','r') as f:
data=f.read()
#然后讲data字符串读成数据格式:
#json.loads(data)读出来的为 [{"name": "zzh", "age": 7}, {"name": "zjl", "age": 2}]
data_list=json.loads(data)
#然后取出来用
for dict in data_list:
print(dict)
暂时没啦