Analizar archivo CSV en C#
-
Analizar archivo CSV con la clase
TextFieldParser
enC#
-
Analizar archivo CSV con la biblioteca
FileHelpers
enC#
Este tutorial discutirá los métodos para analizar un archivo CSV en C#.
Analizar archivo CSV con la clase TextFieldParser
en C#
Para usar la clase TextFieldParser
, tenemos que hacer referencia a Microsoft.VisualBasic.dll
en nuestro código C#. La clase TextFieldParser
contiene muchos métodos para analizar archivos de texto estructurado en C#. Podemos leer un archivo CSV con la clase TextFieldParser
estableciendo los delimitadores en ,
con la función SetDelimiters()
dentro de la clase TextFieldParser
. El siguiente ejemplo de código nos muestra cómo analizar un archivo CSV con la clase TextFieldParser
en C#.
using System;
using Microsoft.VisualBasic.FileIO;
namespace parse_csv {
class Program {
static void Main(string[] args) {
using (TextFieldParser textFieldParser = new TextFieldParser(@"C:\File\Sheet1.csv")) {
textFieldParser.TextFieldType = FieldType.Delimited;
textFieldParser.SetDelimiters(",");
while (!textFieldParser.EndOfData) {
string[] rows = textFieldParser.ReadFields();
}
}
}
}
}
En el código anterior, inicializamos la instancia textFieldParser
de la clase TextFieldParser
especificando la ruta a nuestro archivo CSV en el constructor. Luego configuramos nuestro tipo de campo de texto para que esté delimitado con la función textFieldParser.TextFieldType = FieldType.Delimited
y establecemos ,
como delimitador con la función textFieldParser.SetDelimiter(',')
. Luego usamos un bucle while
para leer el archivo CSV hasta el final con textFieldParser.EndofData
. Almacenamos los datos dentro de un array de cadenas con la función ReadFields()
.
Analizar archivo CSV con la biblioteca FileHelpers
en C#
La biblioteca FileHelpers
se utiliza para leer y escribir datos en archivos, flujos y cadenas en C#. Es una biblioteca de terceros y no viene preinstalada con el marco .NET
. Podemos instalarlo fácilmente buscándolo en el administrador de paquetes NuGet en el IDE de Visual Studio. Podemos usar la clase FileHelpersEngine
para analizar datos de un archivo CSV en C#. La clase FileHelperEngine
obtiene los datos del archivo en objetos de clase en C#. Entonces, primero tenemos que crear una clase de modelo que pueda contener nuestros datos del archivo. La clase contendría campos que representan columnas en el archivo CSV. Podemos usar [DelimitedRecord(",")]
para especificar que ,
se usa aquí como delimitador. Podemos usar la función ReadFile(path)
para leer datos dentro de un array de objetos de clase del archivo en la ruta especificada. El siguiente ejemplo de código nos muestra cómo analizar un archivo CSV con la biblioteca FileHelpers
en C#.
using FileHelpers;
using System;
namespace parse_csv {
[DelimitedRecord(",")]
public class Record {
public string Name;
public string Age;
}
class Program {
static void Main(string[] args) {
var fileHelperEngine = new FileHelperEngine<Record>();
var records = fileHelperEngine.ReadFile(@"C:\File\records.csv");
foreach (var record in records) {
Console.WriteLine(record.Name);
Console.WriteLine(record.Age);
}
}
}
}
Producción :
Name
Age
MMA
22
SDA
19
SHA
11
En el código anterior, leemos los datos dentro del archivo C:\File\records.csv
y los guardamos en un array de objetos de la clase Record
con la biblioteca FileHelpers
en C#.
Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.
LinkedIn