CSV Export Docs
BowlSheet exports your event data to a comma-separated values (CSV) file compatible with Excel, Google Sheets, and any standard spreadsheet application. This page explains how to export, what the file contains, and how to work with it.
If you used the legacy BowlSheet iOS app, your existing CSV exports still work. The format is preserved for backwards compatibility.
Exporting from the App
- Open Events in BowlSheet.
- Tap the event (or select multiple events using long-press).
- Tap the Share icon in the top-right corner.
- Select Export CSV.
- Choose where to save or share the file (Files, AirDrop, email, etc.).
The exported file opens in any spreadsheet application. No special software is required.
What the CSV Contains
Each row in the CSV represents one game. The file also includes a summary row labeled All Events (row 1, after the header) that aggregates statistics across every game in the export. Game-specific columns in that row are blank; only the statistics columns are filled.
The CSV has 130+ columns organized into seven groups. The authoritative column
reference is docs/CSV_EXPORT_SCHEMA.md in this repository, which documents the
column groups, ordering, and the preserved legacy quirks in full.
1. Event Metadata
Basic context for each game: event name, event type (individual or team), game type (standard or Baker), date, location, oil pattern, and team name.
2. Bowler Assignments (Baker Format)
For Baker games, each frame (1–10) records which bowler threw that frame. Frame 10 can have up to three bowlers for the bonus balls. Individual games record a single bowler for all frames.
3. Frame Scores
Cumulative score at the end of each frame (frames 1–10). These are running totals, not individual frame pins. For example, if frames 1 and 2 score 8 and 9 respectively, the frame 2 value would be 17.
4. Split Flags
A 1/0 indicator per ball per frame marking whether a split was recorded on that delivery.
5. Pins Down
The number of pins knocked down on each ball thrown in each frame (numeric).
6. Pin Leaves
A text description of the pins still standing after the first ball, expressed as a dash-separated list of pin numbers (e.g., 1-3-5-7-10). Blank when a strike was thrown.
7. Statistics
Aggregate columns covering: frame averages, score averages, strike rate, spare conversion rate, high game, game average, series totals, match play record (wins/losses/ties), game distribution counts (100–110, 110–120, etc.), and lane information.
Sample Row (Simplified)
The following illustrates a small subset of columns for a single Baker game:
| Event | GameType | Date | Frame1Bowler | Frame1Score | Frame1Ball1Pins | … | Average |
|---|---|---|---|---|---|---|---|
| State Qualifier | Baker | 2025-10-14 | Johnson | 9 | 9 | … | 189.4 |
The full column list is in docs/CSV_EXPORT_SCHEMA.md in this repository.
Compatibility Notes
Excel and Google Sheets
Open the file directly — no import wizard needed. If columns appear merged, check that your application is not treating the file as tab-delimited. The format uses standard commas as delimiters.
RFC 4180 Escaping
Fields that contain a comma, double-quote, carriage return, or line feed are wrapped in double quotes. Embedded double quotes are doubled (""). This is the standard CSV escaping format and is handled automatically by Excel and Sheets.
The “All Events” Aggregate Row
Row 1 (immediately after the header) is a summary row labeled All Events. It contains blank values for game-specific columns and aggregate statistics for all games in the export. Filtering or sorting in a spreadsheet may move this row — keep that in mind if you’re building formulas that reference row positions.
Legacy Quirks Preserved for Compatibility
Several column names from the original BowlSheet iOS export are preserved verbatim, including known typos and duplicates:
HightPocketRatio(typo for “High”)Frame6AvgScore(duplicate column)- Three
600Seriescolumns
These are intentional. If you have existing formulas or scripts that reference these column names, they will continue to work.
Full Schema Reference
The complete, authoritative column list is in docs/CSV_EXPORT_SCHEMA.md in this repository — the engineering reference used to verify the export implementation.