利用递归获取到json文件中的指定内容后,我需要做的是统计该关键字在本json文件中一共出现的数量。
思路:由于在上述递归过程中,得到的指定关键字对应的内容我们是用矩阵来存储的,于是,我们可以使用统计函数len()来统计其内容的个数,则是对应的关键字在json文件中出现的次数。
关键代码为:
number_count = len(list_shape)
整个程序的代码为:
import json
import os
def get_target_value(key, dic, tmp_list):
:param key: 目标key值
:param dic: JSON数据
:param tmp_list: 用于存储获取的数据
:return: list
if not isinstance(dic, dict) or not isinstance(tmp_list, list):
return 'argv[1] not an dict or argv[-1] not an list '
if key in dic.keys():
tmp_list.append(dic[key])
for value in dic.values():
if isinstance(value, dict):
get_target_value(key, value, tmp_list)
elif isinstance(value, (list, tuple)):
_get_value(key, value, tmp_list)
return tmp_list
def _get_value(key, val, tmp_list):
for val_ in val:
if isinstance(val_, dict):
get_target_value(key, val_, tmp_list)
elif isinstance(val_, (list, tuple)):
_get_value(key, val_, tmp_list)
def single_file_main():
path = "json_files/self_val_person_day.json"
with open(path, 'r') as load_f:
json_data = json.load(load_f)
number_shape = len(json_data.keys())
print(type(json_data))
print("number:", number_shape)
list_shape = get_target_value('shape_attributes', json_data, [])
number_count = len(list_shape)
print("shape_attributes:", list_shape)
print("numbers:", number_count)
def main():
file_list = os.listdir(r"./json_files")
print(file_list)
for filename in file_list:
with open(r"./json_files/"+filename, 'r') as load_f:
json_data = json.load(load_f)
list_shape = get_target_value('shape_attributes', json_data, [])
number_count = len(list_shape)
print("file:", filename)
print("numbers:", number_count)
if __name__ == '__main__':
main()
得到的结果为:
/home/wenhaolun/anaconda3/bin/python /home/wenhaolun/PycharmProjects/pythonProject2/read_json.py
['三产(2).json', '三产(1).json', '四产(3).json', '四产(2).json', '车牌数据集-待标注.json', '三产(3).json', 'self_val_person_day.json', 'car,.json', '白天室外车牌.json', '四产(1).json', '同一车牌不同角度.json', 'self_val_person_night.json']
file: 三产(2).json
numbers: 309
file: 三产(1).json
numbers: 1178
file: 四产(3).json
numbers: 647
file: 四产(2).json
numbers: 1360
一.读取多个json文件import osfile_list = os.listdir(r"./车库0.3 json")print(file_list) for filename in file_list: with open(r"./车库0.3 json/"+filename, 'r') as load_f: json_data = json.load(load_f) # json files to dict:json_data pri
user:{"names":"admin","birthday":"2019-12-2","email":"zhangxun_vip@16.com","nickName":"Vince-ZZ"}
let count = Object.keys(user).length
console.log(count); //打印出:4
line = Line('面积折线图', width=2000)
# area_opacity设置透明度
line.add('sales', datas, sales1, is_fill=True, area_opacity=0.4)
line.a
https://blog.csdn.net/weixin_42886817/article/details/100141798
查看字典中的数据:字典名[‘key名’]
import os
import json
structure_data = []
data_dir = 'C:/Users/10069/Desktop/结构化字段/'
all_json = os.listdir(data_dir)
for j_name in all_json:
j = open(data_dir+j_