所以我一直在阅读我不应该编写自己的 CSV 读取器/写入器,所以我一直在尝试使用通过 nuget 安装的 CsvHelper 库。CSV 文件是灰度图像,行数为图像高度,列数为宽度。我想将值逐行读取到单个List<string>
orList<byte>
中。
我到目前为止的代码是:
using CsvHelper;
public static List<string> ReadInCSV(string absolutePath)
{
IEnumerable<string> allValues;
using (TextReader fileReader = File.OpenText(absolutePath))
{
var csv = new CsvReader(fileReader);
csv.Configuration.HasHeaderRecord = false;
allValues = csv.GetRecords<string>
}
return allValues.ToList<string>();
}
但是allValues.ToList<string>()
抛出一个:
用户代码未处理 CsvConfigurationException
CsvHelper.dll 中出现“CsvHelper.Configuration.CsvConfigurationException”类型的异常,但未在用户代码中处理
附加信息:不能自动映射继承 IEnumerable 的类型。您是否不小心调用了作用于单个记录的 GetRecord 或 WriteRecord,而不是调用作用于记录列表的 GetRecords 或 WriteRecords?
GetRecords
可能期待我自己的自定义类,但我只是想要一些原始类型或字符串的值。另外,我怀疑整行都被转换为单个字符串,而不是每个值都是单独的字符串。