Lea todos los valores de CSV en una lista usando CsvHelper
Así que he estado leyendo que no debería escribir mi propio lector / escritor CSV, así que he estado tratando de usar la biblioteca CsvHelper instalada a través de nuget. El archivo CSV es una imagen en escala de grises, siendo el número de filas la altura de la imagen y el número de columnas el ancho. Me gustaría leer los valores en fila en un soloList<string>
oList<byte>
.
El código que tengo hasta ahora es:
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>();
}
PeroallValues.ToList<string>()
está lanzando un:
CsvConfigurationException no fue manejada por el código de usuario
Se produjo una excepción del tipo 'CsvHelper.Configuration.CsvConfigurationException' en CsvHelper.dll pero no se manejó en el código de usuario
Información adicional: los tipos que heredan IEnumerable no se pueden asignar automáticamente. ¿Llamaste accidentalmente a GetRecord o WriteRecord que actúa en un solo registro en lugar de llamar a GetRecords o WriteRecords que actúa en una lista de registros?
GetRecords
probablemente esté esperando mi propia clase personalizada, pero solo quiero los valores como algún tipo o cadena primitiva. Además, sospecho que toda la fila se está convirtiendo en una sola cadena, en lugar de que cada valor sea una cadena separada.