回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>运行应用程序后,我将历史记录存储在ProcessingJob.json文件中。但是,当我尝试附加JSON文件时,代码会在最新对象周围再写一组{}括号</p>
<p>您将看到在“05-01-2020”节点前后有一个额外的{}括号。我已经多次尝试更正/修复代码,但这是唯一可以让它运行的方法。你对如何改进有什么建议吗</p>
<pre><code>#where write_type == 1 is Dictionary-<date>.json, and write_type == 2 is ProcessingAudit.json
def updateJSON_File(write_type,inputDS,input_jFile, output_jFile):
with open(input_jFile, 'r') as f:
data = json.load(f)
i = 1
if write_type==1:
for index, row in inputDS.iterrows():
y = {
"QueryText": row[0],
"Subjectmatter": row[1],
"DateAdded": row[2],
"SimilarityScore": row[3]
}
data.append(y)
elif write_type==2:
while (i<=2):
if i==1:
temp = data['analysis']
# python object to be appended
y = {
inputDS[1]: {
"dictionaryFileName": inputDS[2],
"analysisFileName": inputDS[3],
"totalEvaluated": inputDS[4],
"netNewLabelledEntries": inputDS[9],
"range95": inputDS[5],
"range85": inputDS[6],
"range75": inputDS[7],
"rangeLessThan75": inputDS[8]
}
}
# appending data to emp_details
temp.append(y)
i += 1
elif i==2:
tmp = data["lastAnalysisCompleted"]
data["lastAnalysisCompleted"] = inputDS[1]
i+=1
else:
i==3
print("error")
else:
pass
#update Processing Data JSON file
with open(output_jFile,'w') as f:
json.dump(data, f, indent=1)
if write_type == 1:
return 1
else:
return inputDS[3]
</code></pre>
<p>下面是ProcessingJob.json文件</p>
<pre><code>{
"lastAnalysisCompleted": "05-01-2020",
"analysis": [
{
"12-31-2019": {
"dictionaryFileName": "Dictionary/Dictionary_12-31-2019.json",
"analysisFileName": "Analysis/Analysis_Output_12-31-2019.xlsx",
"totalEvalauated": 100,
"netNewAdded": 10,
"range95": 1,
"range80": 3,
"range75": 1,
"rangeLessThan75": 5
},
"01-01-2020": {
"dictionaryFileName": "Dictionary/Dictionary_01-01-2020.json",
"analysisFileName": "Analysis/Analysis_Output_01-01-2020.xlsx",
"totalEvalauated": 100,
"netNewAdded": 10,
"range95": 1,
"range80": 3,
"range75": 1,
"rangeLessThan75": 5
},
"04-30-2020": {
"dictionaryFileName": "Dictionary/Dictionary_04-30-2020.json",
"analysisFileName": "Analysis/Analysis_Output_04-30-2020.xlsx",
"totalEvaluated": 289,
"netNewLabelledEntries": 8,
"range95": 8,
"range85": 57,
"range75": 85,
"rangeLessThan75": 139
}
},
{
"05-01-2020": {
"dictionaryFileName": "Dictionary/Dictionary_05-01-2020.json",
"analysisFileName": "Analysis/Analysis_Output_05-01-2020.xlsx",
"totalEvaluated": 297,
"netNewLabelledEntries": 16,
"range95": 16,
"range85": 57,
"range75": 85,
"rangeLessThan75": 149
}
}
]
}
</code></pre>