I am trying to simply ignore the csv.ErrFieldCount
error in our code but cannot seem to only look at that one error. What am I doing wrong here?
record, err := reader.Read()
if err != nil {
if err == csv.ErrFieldCount {
return nil
}
return err
}
But when I run the code the last line of the csv file gives me this error paniced line 11535, column 0: wrong number of fields in line
csv.Reader
doesn't return that error, it returns acsv.ParseError
. You first need to check if you have a ParseError, then check the Err field:Yeah its not really well documented (that is, glancing at the documentation doesn't give you the answer very quickly). Although
Read()
returns anerror
, its actually an instance of a *csv.ParseError which you can assert and check:Set FieldsPerRecord in the CSV Reader struct to be a negative number. Then ParseErrors for unequal field counts will not occur.
See here:
https://golang.org/pkg/encoding/csv/#example_Reader_options