C# lee un archivo CSV y almacena sus valores en un array

Minahil Noor 12 octubre 2023
  1. Programa C# para leer un archivo CSV y almacenar su valor en un Array usando la clase StreamReader
  2. C# Programa para leer un archivo CSV y almacenar su valor en un Array usando el Microsoft.VisualBasic.FileIO de la biblioteca TextFieldParser
C# lee un archivo CSV y almacena sus valores en un array

Un archivo CSV es un archivo separado por comas, que se utiliza para almacenar datos de forma organizada. Normalmente almacena los datos en forma de tabla. La mayoría de las organizaciones comerciales almacenan sus datos en files CSV.

En C#, podemos realizar varias operaciones en un archivo CSV. Podemos leer, escribir y alterar un archivo CSV. Este artículo se centra en varios métodos para leer un archivo CSV y almacenar sus datos en un array.

Programa C# para leer un archivo CSV y almacenar su valor en un Array usando la clase StreamReader

En C#, la clase StreamReader se usa para tratar los archivos. Abre, lee y ayuda a realizar otras funciones a diferentes tipos de archivos. También podemos realizar diferentes operaciones en un archivo CSV mientras usamos esta clase.

El método OpenRead() se utiliza para abrir un archivo CSV y el método ReadLine() se utiliza para leer su contenido.

La sintaxis correcta para usar el método OpenRead() y ReadLine() es la siguiente:

// OpenRead() Syntax
File.OpenRead(@"FilePath");
// ReadLine() Syntax
StreamReaderObject.ReadLine();

Código de ejemplo:

using System.IO;
using System.Collections.Generic;
using System;

class ReadingCSV {
  static void Main(string[] args) {
    var reader = new StreamReader(File.OpenRead(@"D:\New folder\Data.csv"));
    List<string> listA = new List<string>();
    List<string> listB = new List<string>();
    while (!reader.EndOfStream) {
      var line = reader.ReadLine();
      var values = line.Split(';');

      listA.Add(values[0]);
      listB.Add(values[1]);
      foreach (var coloumn1 in listA) {
        Console.WriteLine(coloumn1);
      }
      foreach (var coloumn2 in listA) {
        Console.WriteLine(coloumn2);
      }
    }
  }
}

Producción :

//Contents of the CSV file

C# Programa para leer un archivo CSV y almacenar su valor en un Array usando el Microsoft.VisualBasic.FileIO de la biblioteca TextFieldParser

En C#, tenemos un File Parser que analiza el archivo basado en su contenido. El TextFieldParser está definido en la biblioteca Microsoft.VisualBasic.FileIO. Antes de ejecutar el programa de abajo, no olvides añadir una referencia a Microsoft.VisualBasic.

La sintaxis correcta para usar este analizador es la siguiente:

TextFieldParser ParserName = new TextFieldParser(PathString);

Código de ejemplo:

using System;
using Microsoft.VisualBasic.FileIO;

class ReadingCSV {
  public static void Main() {
    string coloumn1;
    string coloumn2;
    var path = @"D:\New folder\Data.csv";
    using (TextFieldParser csvReader = new TextFieldParser(path)) {
      csvReader.CommentTokens = new string[] { "#" };
      csvReader.SetDelimiters(new string[] { "," });
      csvReader.HasFieldsEnclosedInQuotes = true;

      // Skip the row with the column names
      csvReader.ReadLine();

      while (!csvReader.EndOfData) {
        // Read current line fields, pointer moves to the next line.
        string[] fields = csvReader.ReadFields();
        coloumn1 = fields[0];
        coloumn2 = fields[1];
      }
    }
  }
}

Artículo relacionado - Csharp CSV

Artículo relacionado - Csharp Array