CsvHelper没有解析csv

时间:2018-04-13 14:27:32

标签: c# csvhelper

我试图使用CsvHelper来解析csv文件并获取一个类对象数组。但我无法从CsvReader获得任何结果。我做错了什么?

SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape

我的test.csv文件就是这样:

TextReader reader = File.OpenText("test.csv");
string stringResult=reader.ReadToEnd(); //this works

var csvReader = new CsvReader(reader);
TestCsvEntity[] resultReader = csvReader.GetRecords<TestCsvEntity>().ToArray(); //but this is empty

我的班级对象是

RowNumber,Value
1,a
2,b
3,c

1 个答案:

答案 0 :(得分:1)

如果您的代码中包含此内容,请将其删除:

string stringResult=reader.ReadToEnd(); //this works

可能会读到流的末尾,然后您将读者传递到位于流中最后位置的CSVHelper。您希望将CSVHelper传递到位于起始位置的流。

试试这个进行调试:

TextReader reader = File.OpenText("test.csv");

Console.WriteLine("Stream Length:" + reader.BaseStream.Length);
Console.WriteLine("Stream Position before ReadToEnd(): " + reader.BaseStream.Position);

string stringResult=reader.ReadToEnd(); //this works

Console.WriteLine("Stream Position after ReadToEnd(): " + reader.BaseStream.Position);