所以我一直在阅读我不应该编写自己的CSV读写器,所以我一直在尝试使用通过nuget安装的CsvHelper库.CSV文件是灰度图像,行数是图像高度,数字列是宽度.我想将行值逐行读入单个List<string>或List<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>();
}
Run Code Online (Sandbox Code Playgroud)
但是allValues.ToList<string>()扔了一个:
用户代码未处理CsvConfigurationException
CsvHelper.dll中出现"CsvHelper.Configuration.CsvConfigurationException"类型的异常,但未在用户代码中处理
附加信息:继承IEnumerable的类型无法自动映射.您是否意外调用了对单个记录执行操作的GetRecord或WriteRecord,而不是调用作为记录列表的GetRecords或WriteRecords?
GetRecords可能期望我自己的自定义类,但我只是想将值作为一些原始类型或字符串.此外,我怀疑整行正在转换为单个字符串,而不是每个值都是一个单独的字符串.