/
analysis.py
42 lines (34 loc) · 1.25 KB
/
analysis.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
import json
import os
import sys
directory = sys.argv[1]
osDirectory = os.fsencode(directory)
allData = {}
for file in os.listdir(osDirectory):
filename = os.fsdecode(file)
if filename.endswith(".json"):
filepath = os.path.join(directory, filename)
with open(filepath, 'r') as f:
data = json.load(f)
stats = []
for gen in data:
stats.append({
"generation": gen["generation"],
"bestFitness": gen["bestFitness"],
"p10": gen["10percentileFitness"],
"p25": gen["25percentileFitness"],
"p50": gen["medianFitness"],
})
allData[filename] = stats
f.close()
# convert to csv
if os.path.exists("output.csv"):
os.remove("output.csv")
with open ("output.csv", 'w') as f:
for filename in allData:
f.write(filename + "\n")
f.write("Generation,Best Fitness,10th Percentile Fitness,25th Percentile Fitness,50th Percentile Fitness\n")
for gen in allData[filename]:
f.write("{},{},{},{},{}\n".format(gen["generation"], gen["bestFitness"], gen["p10"], gen["p25"], gen["p50"]))
f.write("\n")
f.close()