Importing Results from a CSV File
Results recorded elsewhere — on a spreadsheet at the finish boat, exported from another scoring program, or produced by a timing system — can be imported instead of keyed in. Open Import CSV from the Races page or the Standings page.
The format follows the Sailwave results import: one row per boat per race, with a header row.
- Columns
-
Column names are matched loosely — case, spaces, and underscores are ignored, so Race No, race_no, and RaceNo are the same column. Any column not recognised is skipped, so you can import a file without trimming it first. Each row of the table below lists the accepted names for one field.
Column Meaning raceno, racenumber, race Required. Race number, matched against the races in this fleet. sailno, sailnumber, sail Sail number — the primary way boats are matched to entries. class, boatclass Boat class, used to tell apart boats sharing a sail number. boat, boatname Boat name, used to tell apart boats sharing a sail number. helmname, helm, competitor, name Helm name, used to tell apart boats sharing a sail number. start, starttime Start time of day, used with the finish column to work out elapsed time. finish, finishtime Finish time of day, used with the start column to work out elapsed time. elapsed, elapsedtime Elapsed time, if the file carries it directly. Takes precedence over start/finish. laps, lapssailed Laps completed, for average-lap scoring. code, finishcode Finish code (DNF, DNS, OCS, DNC …) — see Finish Codes & Penalties. place, position, rank Finish place, for position-scored fleets, or as a fallback when a handicap row carries no time. racerating, rating, py The rating this boat sailed this race on — see Entries & Ratings. racename Race name, applied only if the race does not already have one. racedate, publishedracedate, date Date sailed, applied only if the race does not already have one. - Example
-
raceno,class,sailno,start,finish,racerating 3,ILCA 6,187790,13:00,14:01,1218 3,ILCA 7,224952,13:00,14:22 3,Blade 16,729,,, 4,ILCA 6,187790,16:05,17:02
The third boat carries neither a time nor a code, which the import rejects — give her a code such as DNC, or leave her out of the file entirely.
- Times
-
An elapsed column is read the same way as the Elapsed field on the entry screens: 1:15:23, or plain digits right-anchored (722 → 7:22, 10523 → 1:05:23). Colons, dots, and commas all work as separators.
start and finish columns are read as times of day instead, so 16:05 means five past four in the afternoon, not sixteen minutes. Elapsed time is the difference between the two; a finish time earlier than the start is treated as crossing midnight rather than as an error.
- How Boats Are Matched
-
Rows are matched against entries already in the fleet — the import never creates competitors. A competitor record carries registration, waiver, and crew information that a results file cannot supply, so add any missing boats on the Entries page first.
Matching works from the sail number outward. Where two boats in the fleet share a sail number, a class, boat name, or helm column will separate them. If a row still matches more than one entry, or none, it is reported as an error rather than guessed at.
- Missing Races
- A race number in the file that does not exist in the fleet is an error, unless you tick Create missing races on the import form. Any race that receives results is marked sailed, so the calculator includes it.
- Nothing Imports Unless Everything Does
-
The import is all-or-nothing. If any row has a problem, nothing at all is written and your existing results are untouched. The form re-displays with every problem listed by line number, so one upload tells you everything that needs fixing.
Re-importing the same race is safe: a row for a boat that already has a finish in that race updates it rather than adding a second one. Correct the file and upload again.
- After the Import
- Scores are calculated automatically and you are taken to the Standings page. Run the Health Check afterwards to catch boats the file omitted entirely — they will show as having no finish record for the race.