Saltar al contenido

Análisis de archivos CSV en C#, con encabezado

Esta noticia fue analizado por especialistas para garantizar la veracidad de nuestro tutorial.

Solución:

Un analizador CSV ahora es parte de .NET Framework.

Agregue una referencia a Microsoft.VisualBasic.dll (funciona bien en C#, no le importe el nombre)

using (TextFieldParser parser = new TextFieldParser(@"c:temptest.csv"))

    parser.TextFieldType = FieldType.Delimited;
    parser.SetDelimiters(",");
    while (!parser.EndOfData)
    
        //Process row
        string[] fields = parser.ReadFields();
        foreach (string field in fields)
        
            //TODO: Process field
        
    

Los documentos están aquí – Clase TextFieldParser

PD: si necesitas un CSV exportadorintente CsvExport (discl: soy uno de los contribuyentes)

CsvHelper (una biblioteca que mantengo) leerá un archivo CSV en objetos personalizados.

var csv = new CsvReader( File.OpenText( "file.csv" ) );
var myCustomObjects = csv.GetRecords();

A veces no eres el propietario de los objetos en los que intentas leer. En este caso, puede usar el mapeo fluido porque no puede poner attributes en la clase

public sealed class MyCustomObjectMap : CsvClassMap

    public MyCustomObjectMap()
    
        Map( m => m.Property1 ).Name( "Column Name" );
        Map( m => m.Property2 ).Index( 4 );
        Map( m => m.Property3 ).Ignore();
        Map( m => m.Property4 ).TypeConverter();
    


EDITAR:

CsvReader ahora requiere que se pase CultureInfo al constructor (https://github.com/JoshClose/CsvHelper/issues/1441).

Ejemplo:

var csv = new CsvReader(File.OpenText("file.csv"), System.Globalization.CultureInfo.CurrentCulture);

¡Deje que una biblioteca maneje todos los detalles esenciales por usted! 🙂

Eche un vistazo a FileHelpers y manténgase SECO – No se repita – no es necesario que reinvente la rueda por millonésima vez…

Básicamente, solo necesita definir esa forma de sus datos, los campos en su línea individual en el CSV, por medio de una clase pública (y tan bien pensada attributes como valores predeterminados, reemplazos de valores NULL, etc.), apunte el motor FileHelpers a un archivo y bingo: obtendrá todas las entradas de ese archivo. Una operación simple: ¡gran rendimiento!

Te mostramos las comentarios y valoraciones de los usuarios

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *