I'm using C# 2005 and the CSVreader class, all works well apart from when the CSV file contains an empty row at the end:
Example:
1,2,3,4,5
2,3,5,6,7
,,,,
My program errors as there are no values here, the problem is that not all columns are contain a value so the 2 rows below would be valid.
1,2,,4,5
2,,5,6,7
but an empty row such containing ,,,, would not. A final hurdle is I don't know for sure how many columns there will be.
How would you suggest I test for an empty row?
解决方案
This particular CSVReader looks to have some good handling of missing fields:
You can handle an empty row by using some code like this before invoking the reader:
csv.MissingFieldAction = MissingFieldAction.ReplaceByNull;
or replace with an empty string:
csv.MissingFieldAction = MissingFieldAction.ReplaceByEmpty;
Then you could test for an empty row by looping over it after reading it, and if any column is non-null then process the row.