One feature I’ve needed to build into all my csv parsers is to be tolerant of some “junk” rows at top, and automatically find the row where the actual headers are, which might not be the first row. Do you handle this case?
Eg Mac Numbers app is really bad about this where it will sometimes insert the file name as a “title row”