En C#, manejar archivos CSV es una tarea común y útil para cargar y guardar datos en formato de tabla. Utilizando las librerías adecuadas, podemos leer y escribir archivos CSV de manera sencilla en nuestros programas. En este artículo, exploraremos diferentes métodos y técnicas para manejar archivos CSV en C#, con el objetivo de facilitar el trabajo con datos estructurados en formato CSV. ¡Vamos a sumergirnos en el mundo de los archivos CSV en C#!
Introducción
Los archivos CSV (Valores Separados por Comas) son un formato comúnmente utilizado para almacenar y compartir datos tabulares. Son ampliamente utilizados en la industria de la programación y el análisis de datos debido a su simplicidad y facilidad de lectura. En este artículo, aprenderemos cómo manejar archivos CSV en el lenguaje de programación C#.
Crear un archivo CSV en C#
Para comenzar a trabajar con archivos CSV en C#, necesitaremos importar el espacio de nombres «System.IO» y utilizar la clase «StreamWriter» para crear y escribir en el archivo CSV.
El siguiente código muestra cómo crear un archivo CSV y escribir datos en él:
using System.IO;
class Program
{
static void Main()
{
string filePath = "ejemplo.csv";
using (StreamWriter writer = new StreamWriter(filePath))
{
writer.WriteLine("Nombre,Apellido,Edad");
writer.WriteLine("Juan,Pérez,25");
writer.WriteLine("María,González,30");
writer.WriteLine("Pedro,López,35");
}
Console.WriteLine("Archivo CSV creado exitosamente.");
}
}
En el código anterior, hemos creado un archivo «ejemplo.csv» y escribimos tres filas en él. Cada fila contiene valores separados por comas que representan el nombre, apellido y edad de una persona.
Recuerda reemplazar «ejemplo.csv» con el nombre que desees para tu archivo CSV. Además, puedes agregar tantas filas como desees en tu archivo CSV.
Leer un archivo CSV en C#
Una vez que hemos creado y escrito en nuestro archivo CSV, ahora podemos aprender cómo leer los datos de un archivo CSV en C#. Para esta tarea, necesitaremos importar los espacios de nombres «System.IO» y «System.Linq» y utilizar la clase «StreamReader».
El siguiente código muestra cómo leer y mostrar los datos de un archivo CSV:
using System.IO;
using System.Linq;
class Program
{
static void Main()
{
string filePath = "ejemplo.csv";
using (StreamReader reader = new StreamReader(filePath))
{
while (!reader.EndOfStream)
{
string line = reader.ReadLine();
string[] values = line.Split(',');
Console.WriteLine("Nombre: " + values[0]);
Console.WriteLine("Apellido: " + values[1]);
Console.WriteLine("Edad: " + values[2]);
Console.WriteLine("--------------------------------");
}
}
}
}
En el código anterior, estamos abriendo y leyendo el archivo «ejemplo.csv» línea por línea. Luego, utilizamos la función «Split(‘,’) para dividir cada línea en una matriz de valores, utilizando la coma como separador. Posteriormente, mostramos los valores de cada línea en la consola.
Puedes modificar el código para realizar diferentes operaciones con los datos leídos del archivo CSV, como almacenarlos en una base de datos o realizar cálculos.
Lidiar con valores entre comillas en un archivo CSV
En algunos casos, es posible que los valores en un archivo CSV estén entre comillas. Esto puede ocasionar problemas al leer o escribir un archivo CSV en C#. Sin embargo, podemos manejar esta situación utilizando la clase «TextFieldParser» de la biblioteca Microsoft.VisualBasic.
El siguiente código muestra cómo leer un archivo CSV con valores entre comillas:
using Microsoft.VisualBasic.FileIO;
class Program
{
static void Main()
{
string filePath = "ejemplo_comillas.csv";
using (TextFieldParser parser = new TextFieldParser(filePath))
{
parser.TextFieldType = FieldType.Delimited;
parser.SetDelimiters(",");
parser.HasFieldsEnclosedInQuotes = true;
while (!parser.EndOfData)
{
string[] values = parser.ReadFields();
Console.WriteLine("Nombre: " + values[0]);
Console.WriteLine("Apellido: " + values[1]);
Console.WriteLine("Edad: " + values[2]);
Console.WriteLine("--------------------------------");
}
}
}
}
En el código anterior, hemos utilizado la clase «TextFieldParser» para leer el archivo «ejemplo_comillas.csv». Configuramos las opciones necesarias, como «TextFieldType», «SetDelimiters» y «HasFieldsEnclosedInQuotes», para asegurarnos de que los valores entre comillas sean manejados correctamente al leer el archivo CSV.
Recuerda reemplazar «ejemplo_comillas.csv» con el nombre de tu archivo CSV que contiene valores entre comillas.
En este artículo, hemos aprendido cómo manejar archivos CSV en C#. Comenzamos creando un archivo CSV y escribiendo datos en él utilizando la clase «StreamWriter». Luego, aprendimos cómo leer y procesar los datos de un archivo CSV utilizando la clase «StreamReader» y cómo lidiar con valores entre comillas utilizando la clase «TextFieldParser».
Los archivos CSV son una forma conveniente y ampliamente utilizada para almacenar y compartir datos tabulares. Ahora que tienes el conocimiento necesario sobre cómo manejar archivos CSV en C#, puedes utilizar esta habilidad en tus proyectos de programación y análisis de datos.
Manejar archivos CSV en C# es una tarea sencilla y útil que puede realizarse utilizando bibliotecas como CsvHelper. Con estas herramientas, se puede leer, escribir y manipular datos en formato CSV de manera eficiente y efectiva en aplicaciones desarrolladas en C#. ¡Espero que este artículo te haya sido de utilidad!