CsvHelper 不解析 csv
CsvHelper isn't parsing csv
我正在尝试使用 CsvHelper 来解析一个 csv 文件并获取一个 class 对象数组。但我无法从 CsvReader 获得任何结果。我做错了什么?
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
我的 test.csv 文件是这样的:
RowNumber,Value
1,a
2,b
3,c
我的class对象是
public class TestCsvEntity
{
public int RowNumber { get; set; }
public string Value { get; set; }
}
如果这在您的代码中,请将其删除:
string stringResult=reader.ReadToEnd(); //this works
它可能读取到流的末尾,然后您将 reader 传递给位于流中最后位置的 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);
我正在尝试使用 CsvHelper 来解析一个 csv 文件并获取一个 class 对象数组。但我无法从 CsvReader 获得任何结果。我做错了什么?
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
我的 test.csv 文件是这样的:
RowNumber,Value
1,a
2,b
3,c
我的class对象是
public class TestCsvEntity
{
public int RowNumber { get; set; }
public string Value { get; set; }
}
如果这在您的代码中,请将其删除:
string stringResult=reader.ReadToEnd(); //this works
它可能读取到流的末尾,然后您将 reader 传递给位于流中最后位置的 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);