Skip to content

Commit 2a4089a

Browse files
committed
Add helper script to export scores
1 parent cdfb6b0 commit 2a4089a

File tree

2 files changed

+36
-0
lines changed

2 files changed

+36
-0
lines changed

scripts/export_competition_scores.py

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
import csv
2+
import json
3+
4+
with open('scores.csv') as csv_file:
5+
csv_reader = csv.reader(csv_file, delimiter=',')
6+
7+
header = next(csv_reader)
8+
9+
task_ids = list(map(int, header[4:]))
10+
print('DELETE FROM Submission WHERE Task >= {} AND Task <= {};'.format(task_ids[0], task_ids[-1]))
11+
12+
rows = list(csv_reader)
13+
print('INSERT INTO Submission(Contestant, Task, Score) VALUES')
14+
15+
submissions = []
16+
for row in rows:
17+
contestant_id = int(row[1])
18+
task_scores = row[4:]
19+
20+
values = []
21+
for idx, task_score in enumerate(task_scores):
22+
if task_score:
23+
values.append('({}, {}, {})'.format(contestant_id, task_ids[idx], int(task_score)))
24+
25+
submissions.append(', '.join(values))
26+
27+
print(',\n'.join(submissions) + ';')
28+
29+
for row in rows:
30+
rank = int(row[0])
31+
contestant_id = int(row[1])
32+
score = int(row[2])
33+
medal = row[3]
34+
print('UPDATE Contestant SET `Rank`={}, Score={}, Medal="{}" WHERE ID={};'.format(rank, score, medal, contestant_id))

scripts/scores.csv

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
Rank,ContestantID,Score,Medal,76,77,78,79,80,81
2+
1,1814,354,G,62,50,65,88,23,66

0 commit comments

Comments
 (0)