cómo utilizar csvHelper a leer la segunda línea en un archivo csv
Pregunta
Tengo un archivo csv con dos líneas, la primera es la cabecera de la línea, que incluye 36 columnas separadas por ,
La segunda línea es la de los valores, que son 36 valor separados por ,
Quiero leer la segunda línea, me encontré con que toda la gente habla de csvHelper paquete, así que me la baje, pero no tiene ningún tipo de dll
para agregar a mi proyecto.
mi pregunta es cómo incluir y cómo leer la segunda línea.
Sé que se puede instalar usando Install-Package CsvHelper
pero no quiero de esa manera porque quiero implementar esta aplicación en un servidor.Por lo tanto, preferiría que Si hay una manera de como add reference
o algo así.
si yo sabía cómo incluirlo, la lectura de la segunda línea no sería difícil.Me gustaría hacer algo como esto:
- cargar el archivo csv
- leer la primera línea y lo ignoran.
- leer la segunda línea y dividir por
,
.
Solución
Usted podría utilizar TextReader.ReadLine()
para saltar a la primera línea:
using (TextReader reader = File.OpenText("filename"))
{
reader.ReadLine();
// now initialize the CsvReader
var parser = new CsvReader( reader ); // ...
}
Otros consejos
El aceptó respuesta es una solución para el problema, pero la biblioteca tiene la solución de primera categoría para este caso común
CsvConfiguration
la clase tiene una propiedad HasHeaderRecord
que puede ser configurado para true
, esto hará que la biblioteca para saltar a la primera línea en el archivo.
CsvConfiguration configuration = new CsvConfiguration { HasHeaderRecord = true };
using (TextReader sr = new StringReader(fileContent))
{
CsvReader reader = new CsvReader(sr, configuration);
}
aquí es un fragmento de la Documentación
Esta bandera indica al lector/escritor si hay una fila de encabezado en el archivo CSV.
ACTUALIZACIÓN en la versión más reciente de la biblioteca de la clase CsvConfiguration
se ha cambiado el nombre a Configuration