track error %
This commit is contained in:
2 files changed
+50
No files matched your search
@@ -0,0 +1,48 @@
|
||||
#!/usr/bin/env python3.11
|
||||
import json
|
||||
import csv
|
||||
|
||||
# Calculate Errors and log to .csv file
|
||||
def writeErrorsToCSV(
|
||||
studentsLen: int,
|
||||
conflictsDir: str = './output/raw/json/conflicts.json',
|
||||
outputDir: str = './output/raw/csv/errors.csv'
|
||||
) -> None:
|
||||
# Error Table calulation / output
|
||||
with open(conflictsDir) as file:
|
||||
conflicts = json.load(file)
|
||||
|
||||
totalCritical = conflicts["Critical"]["Students"]
|
||||
totalAcceptable = conflicts["Acceptable"]["Students"]
|
||||
|
||||
with open(outputDir, 'w') as file:
|
||||
writer = csv.writer(file)
|
||||
# Write header
|
||||
data = (
|
||||
"Error Type",
|
||||
"Error %",
|
||||
"Success %",
|
||||
"Student Error Ratio"
|
||||
)
|
||||
writer.writerow(data)
|
||||
|
||||
errorsC = round(totalCritical / studentsLen * 100, 2)
|
||||
errorsA = round(totalAcceptable / studentsLen * 100, 2)
|
||||
successC = round(100 - errorsC, 2)
|
||||
successA = round(100 - errorsA, 2)
|
||||
|
||||
criticalData = (
|
||||
'Critical',
|
||||
f'{errorsC} %',
|
||||
f'{successC} %',
|
||||
f'{totalCritical}/{studentsLen} Students'
|
||||
)
|
||||
writer.writerow(criticalData)
|
||||
|
||||
acceptableData = (
|
||||
'Acceptable',
|
||||
f'{errorsA} %',
|
||||
f'{successA} %',
|
||||
f'{totalAcceptable}/{studentsLen} Students'
|
||||
)
|
||||
writer.writerow(acceptableData)
|
||||
Reference in new issue
Block a user