Discussion issue. CSV has no type system, and the prior art is bleak: CSVW (W3C sidecar JSON, effectively dead), .csvt (GDAL sidecar, niche), CSV Schema Language (validation-only, dead). Frontmatter is impossible — CSV has no comment spec, and metadata on line 1 shifts every row index and breaks every consumer.
Least-destructive option found so far: a vim-style modeline as the LAST line (# sheets: types=string,int,float header=true) — one garbage row at EOF that other tools ignore or render harmlessly.
Or maybe the honest answer is that CSV can't be fixed and a lightweight typed plaintext tabular format deserves to exist. Filing to collect opinions.
Discussion issue. CSV has no type system, and the prior art is bleak: CSVW (W3C sidecar JSON, effectively dead),
.csvt(GDAL sidecar, niche), CSV Schema Language (validation-only, dead). Frontmatter is impossible — CSV has no comment spec, and metadata on line 1 shifts every row index and breaks every consumer.Least-destructive option found so far: a vim-style modeline as the LAST line (
# sheets: types=string,int,float header=true) — one garbage row at EOF that other tools ignore or render harmlessly.Or maybe the honest answer is that CSV can't be fixed and a lightweight typed plaintext tabular format deserves to exist. Filing to collect opinions.