Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Ler CSV no C#

Boa tarde a todos!

Gostaria de um help de alguém que já trabalhou com CSV no C# !

Preciso ler o arquivo CSV e pegar os valores com as respectivas colunas!

Já Consigo ler o arquivo dinamicamente, embora só consigo pegar as linhas!

Segue abaixo o que tenho pronto:

StreamReader rd = new StreamReader(@"C:\Users\User\Documents\file.csv, Encoding.Default, true);

                string linha = null;
                string[] linhaseparada = null;
                List<Object> linhas = new List<Object>();

                // ler o conteudo da linha e add na list 
                while ((linha = rd.ReadLine()) != null)
                { 
                    linhaseparada = linha.Split(',');                
                    foreach(var item in linhaseparada)
                    {
                        linhas.Add(item);
                    }
                }
3 respostas

Iran, fiz um Console Application carregando um csv meu com separador ";". Encondig.UTF8 que é o nosso alfabeto. Depois de dar o Split pode pegar direto os campos e fazer o que quiser como uma array comum como fiz concatenando numa string.

Veja se te ajuda! Abs

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

namespace CSVReader
{
    class Program
    {
        static void Main(string[] args)
        {
            string linha = "";
            string[] linhaseparada = null;
            StreamReader reader = new StreamReader(@"C:\Users\Murilo\Desktop\teste.csv", Encoding.UTF8, true);
            while (true)
            {
                linha = reader.ReadLine();
                if (linha == null) break;
                linhaseparada = linha.Split(';');                
                string resultado = string.Format(
                @"Linha - 
                    Campo 1: {0}
                    Campo 2: {1}
                    Campo 3: {2}
                    Campo 4: {3}
                    Campo 5: {4}", linhaseparada[0], linhaseparada[1], linhaseparada[2], linhaseparada[3], linhaseparada[4]);
                Console.WriteLine(resultado);
            }
            Console.ReadKey();
        }
    }
}

Iran, se te ajudou em alguma coisa poderia marcar o post como solucionado? Obrigado. Abs

solução!

Consegui resolver usando a lib CsvHelper!