I guess Seb is right.
The file cannot be read by Excel as well. So without having analysed this any further, it seems to me like the number of fields differs from row to row. NeoCSV does not handle this kind of "edge case". By defintion, each row in CSV has the same number of fields - even if you could possibly argue exceptions to this rule could be handled.
OTOH, what does a missing field in a row usually mean? Is it the last one? One from the middle? is so, which one?
 
So I think you should first check if the file is valid csv and if not, how you can get a  valid one. If not, I guess you have to roll your own parser that foolows the "omission rules" of that file format.
 
Joachim