Skip to content

Commit 24291ee

Browse files
authored
Merge pull request #268 from AlAtEX/master
Updates averager programs to 2019 game
2 parents 8895f9e + e4e9764 commit 24291ee

File tree

3 files changed

+82
-70
lines changed

3 files changed

+82
-70
lines changed
File renamed without changes.

python parsing/add all robots together.py

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,18 @@
55

66
alllines = []
77

8+
89
def getdataforfile(filename, index, robotnumber):
9-
robotnumber = robotnumber.replace(".csv","")
10-
lines = tuple(open(filename, 'r'))
11-
lines = list(lines)
12-
lines.pop(0)
13-
for line in lines:
14-
line = line.replace(";"," ")
15-
line = robotnumber + "," + line
16-
alllines.append(line)
17-
10+
if filename.endswith(".csv"): # Don't open directories
11+
robotnumber = robotnumber.replace(".csv", "")
12+
lines = tuple(open(filename, 'r'))
13+
lines = list(lines)
14+
lines.pop(0)
15+
for line in lines:
16+
line = line.replace(";", " ")
17+
line = robotnumber + "," + line
18+
alllines.append(line)
19+
1820

1921
if not os.path.exists(foldername + '\\results\\'):
2022
os.makedirs(foldername + '\\results\\')
@@ -37,4 +39,4 @@ def getdataforfile(filename, index, robotnumber):
3739
for line in alllines:
3840
f.write(line)
3941

40-
f.close()
42+
f.close()
Lines changed: 70 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -1,66 +1,76 @@
11
import os
22

33
allaverages = []
4+
REPLACE = [
5+
[";", ":"],
6+
["true", "1"],
7+
["false", "0"],
8+
["right", "1"],
9+
["center", "0"],
10+
["left", "-1"],
11+
["Did not return", "0"],
12+
["Returned to hab (Level 1)", "1"],
13+
["Level 1 (HAB)", "1"],
14+
["Level 1", "1"],
15+
["Level 2", "2"],
16+
["Level 3", "3"]
17+
]
18+
for flag in REPLACE:
19+
flag[0] = flag[0].lower()
20+
421

522
def getdataforfile(filename, index, robotnumber):
6-
lines = tuple(open(filename, 'r'))
7-
lines = list(lines)
8-
print(filename)
9-
global allaverages
10-
data = []
11-
averages = []
12-
13-
dates = []
14-
for line in lines:
15-
16-
if(lines.index(line) != 0):
17-
line = line.replace(";",":").replace("true","1").replace("false","0").replace("True","1").replace("False","0").replace("Successful Climb","1").replace("Failed Climb","0")
18-
19-
20-
if line.split(",")[0] in dates:
21-
continue
22-
dates.append(line.split(",")[0])
23-
linedata = line.split(",")
24-
othervariable = ""
25-
for linething in linedata[:]:
26-
if linedata.index(linething) >= 17:
27-
othervariable += linething
28-
linedata.remove(linething)
29-
linedata.append(othervariable)
30-
data.append(linedata)
31-
32-
33-
print(len(data))
34-
for i in range(len(data[0])):
35-
totalsum = 0
36-
pegPlacedAmount = 0
37-
fullString = "" #used for comments
38-
for roundnum in data: #actual data
39-
if i== 17:
40-
try:
41-
fullString += str(roundnum[i]) + "\t\t:\t\t"
42-
except IndexError as verr:
23+
if filename.endswith(".csv"): # If it's a .csv:
24+
lines = tuple(open(filename, 'r'))
25+
lines = list(lines)
26+
print(filename)
27+
global allaverages
28+
data = []
29+
averages = []
30+
31+
dates = []
32+
for line in lines:
33+
34+
if(lines.index(line) != 0):
35+
for flag in REPLACE:
36+
if flag[0] in line:
37+
print(flag)
38+
while flag[0] in line:
39+
line = line.lower().replace(flag[0], flag[1])
40+
41+
if line.split(",")[0] in dates:
4342
continue
44-
try:
45-
roundnum = int(roundnum[i])
46-
except ValueError as verr:
47-
continue
48-
except IndexError as verr:
49-
continue
50-
totalsum += roundnum
51-
if i == 0:
52-
averages.append(len(data))
53-
elif i == 11:
54-
55-
averages.append('"' + fullString.replace('"',"").replace(",",".") + '"')
56-
else:
57-
averages.append(totalsum/(len(data)))
58-
59-
allaverages.append(robotnumber+",")
60-
for average in averages:
61-
allaverages[index] += str(average) + ","
62-
63-
43+
dates.append(line.split(",")[0])
44+
linedata = line.split(",")
45+
othervariable = []
46+
for linething in linedata[:]:
47+
if linedata.index(linething) == 72:
48+
othervariable.append(linething)
49+
linedata.remove(linething)
50+
linedata.append('{}. By: {} , '.format(othervariable[0].replace("||", "|").replace("|n", " ").replace("|q", '"').replace(";", ":").replace("|ob", "{").replace("|cb", "}"), othervariable[1]))
51+
data.append(linedata)
52+
print(len(data))
53+
for i in range(len(data[0])):
54+
totalsum = 0
55+
fullString = "" # used for comments
56+
for roundnum in data: # actual data
57+
try:
58+
roundnum = float(roundnum[i])
59+
totalsum += roundnum
60+
except ValueError:
61+
fullString += roundnum[i]
62+
if i == 0:
63+
averages.append(len(data))
64+
elif i == 72:
65+
averages.append(fullString[:-3])
66+
else:
67+
averages.append(totalsum/(len(data)))
68+
69+
allaverages.append(robotnumber.replace(".csv", "")+",")
70+
for average in averages:
71+
allaverages[index] += str(average) + ","
72+
73+
6474
foldername = input("folderpath: ")
6575
if not foldername.endswith("\\"):
6676
foldername += "\\"
@@ -73,20 +83,20 @@ def getdataforfile(filename, index, robotnumber):
7383
files.remove("results")
7484
files.remove("EventData")
7585

76-
#files = ["772.csv"]
86+
# files = ["772.csv"]
7787

7888
for i in range(len(files)):
7989
getdataforfile(foldername + files[i], i, files[i])
8090

8191
lines = tuple(open(foldername+files[0], 'r'))
8292

8393

84-
f = open(foldername + '\\results\\all robots.csv', 'w')
94+
f = open(foldername + '\\results\\all robots averaged.csv', 'w')
8595
f.write("Robot Number," + lines[0])
8696

8797
for lineofaverages in allaverages:
8898
f.write("\n" + lineofaverages)
8999

90100
print(allaverages)
91101

92-
f.close()
102+
f.close()

0 commit comments

Comments
 (0)