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:

  1. cargar el archivo csv
  2. leer la primera línea y lo ignoran.
  3. leer la segunda línea y dividir por ,.
¿Fue útil?

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

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top