python读取json格式文件
先把代码贴出来,之后慢慢修饰,添加注释把
import json
import ast
###########################################
# json格式文件——获取数据
def processData(path):
obj = open(path,'r',encoding='utf-8')
inputData = []
outputData = []
for line in obj.readlines():
dic = json.loads(line)
t = dic['input'],dic['output']
inputData.append(t[0])
outputData.append(t[1])
obj.close()
return inputData, outputData
##########################################
# json格式文件——获取参数
def processParam(path):
obj = open(path,'r',encoding='utf-8')
param = []
for line in obj.readlines():
dic = json.loads(line)
t = dic['iterationTime'],dic['initialIndividual'],dic['activationFunction'],dic['cross'],dic['mutant']
for i in range(len(t)):
param.append(t[i])
obj.close()
return param
##########################################
# json格式文件——获取知识
def processKnow(path):
obj = open(path,'r',encoding='utf-8')
inputData = []
outputData = []
status = []
for line in obj.readlines():
dic = json.loads(line)
t = dic['inputs'],dic['outputs'],dic['status']
inputData.append(t[0])
outputData.append(t[1])
status.append(t[2])
obj.close()
return inputData, outputData, status
#################################################
# 知识字典获取方法
def processKnow_data(inputKnow, inputKnow_P,inputKnow_b):
for i in range(len(inputKnow)):
know_dict = ast.literal_eval(inputKnow[i])
inputKnow_P.append([])
inputKnow_b.append([])
for key in know_dict:
inputKnow_P[i].append(key)
inputKnow_b[i].append(know_dict[key])
return inputKnow_P,inputKnow_b
#########################################
# 获取路径
path_data = "F:\TestData.json"
path_param = "F:\TestParam.json"
path_know = "F:\TestKnow.json"
##########################################
inputData, outputData = processData(path_data)
param = processParam(path_param)
inputKnow, outputKnow, status = processKnow(path_know)
inputKnow_P = []
inputKnow_b = []
outputKnow_P = []
outputKnow_b = []
in_P,in_B = processKnow_data(inputKnow, inputKnow_P,inputKnow_b)
out_P, out_B = processKnow_data(outputKnow, outputKnow_P,outputKnow_b)
TestData.json文件:
TrstParam.json文件:
TestKnow.json文件: