Never hand-split a row
A quoted field can contain the separator, a newline, or a quote. Only a reader that knows the rules handles all three.
Names beat positions
Read by header name so adding a column does not move everything. Position code breaks silently on the first change.