Private
Public Access
1
0

first attempt to read csv - needs improvement

This commit is contained in:
Sander Roosendaal
2022-06-27 21:28:49 +02:00
parent 44d3dfc919
commit 53679a1ba3
4 changed files with 80 additions and 0 deletions

View File

@@ -8,6 +8,8 @@ import datetime
from django.utils import timezone
import trueskill
from rowers.utils import dologging
def current_day(ttz=None):
if ttz is None:
return (datetime.datetime.now(tz=timezone.utc)).date()
@@ -169,6 +171,16 @@ class Race(models.Model):
athlete.trueskill_mu = rating.mu
athlete.trueskill_sigma = rating.sigma
athlete.save()
u = 'Rating athlete {id} {f} {l} mu = {mu} sigma = {sigma} race {rid} {rname}'.format(
id = id,
f = athlete.first_name,
l = athlete.last_name,
mu = rating.mu,
sigma = rating.sigma,
rid = self.id,
rname = self.name,
)
dologging('ratings.log',u)
self.processed = True
self.save()

View File

@@ -6,6 +6,57 @@ import pandas as pd
url_heineken = ''
def csv_reader(filename,raceid,clubcol='Ploeg',bankjes=['Slag'],uitslag='Pos'):
race = Race.objects.get(id=raceid)
nr = race.crew_size
df = pd.read_csv(filename)
# replace column names if different
for row in df.itertuples():
order = row.Pos
crewname = row.Ploeg
crew = Crew(name=crewname)
crew.save()
for i in range(nr):
# need to improve for multiple rowers
try:
naam = row.Slag.split(' ')
first_name = ' '.join(naam[:-1])
last_name = naam[-1]
except AttributeError:
try:
first_name = str(row.Slag)
last_name = ''
except TypeError:
first_name = 'Unknown'
last_name = 'Athlete'
athletes = Athlete.objects.filter(first_name = first_name,
last_name = last_name)
if len(athletes) >= 1:
athlete = athletes[0]
else:
athlete = Athlete(first_name=first_name,
last_name=last_name,
club = crewname)
athlete.save()
print(athlete)
crew.athletes.add(athlete)
result = Result(
crew = crew,
race = race,
order = order
)
try:
result.save()
except ValidationError as e:
print(e)
def time_team_scraper(url,raceid):
race = Race.objects.get(id=raceid)
nr = race.crew_size

View File

@@ -1,6 +1,20 @@
<style>
.row {
display: flex;
}
.column {
flex: 50%;
border-width: 10px;
padding: 10px;
margin: 10px;
}
</style>
<h1>
Boat Movers Ranking
</h1>
<div class="row">
<div class="column">
<p>
<table>
<tr>
@@ -25,6 +39,8 @@
{% endfor %}
</table>
</p>
</div>
<div class="column">
<p>
This page is an experimental ranking based on public race results,
mainly from Dutch Masters
@@ -91,3 +107,4 @@
<a href="result/add/">Add Result</a>
</p>
{% endif %}
</div>