我试图使用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
答案 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);