Analisar arquivo CSV em C#
-
Analisar arquivo CSV com a classe
TextFieldParseremC# -
Analise o arquivo CSV com a biblioteca
FileHelpersemC#
Este tutorial discutirá os métodos para analisar um arquivo CSV em C#.
Analisar arquivo CSV com a classe TextFieldParser em C#
Para usar a classe TextFieldParser, temos que fazer referência a Microsoft.VisualBasic.dll em nosso código C#. A classe TextFieldParser contém muitos métodos para analisar arquivos de texto estruturados em C#. Podemos ler um arquivo CSV com a classe TextFieldParser definindo os delimitadores como , com a função SetDelimiters() dentro da classe TextFieldParser. O exemplo de código a seguir nos mostra como analisar um arquivo CSV com a classe TextFieldParser em 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();
}
}
}
}
}
No código acima, inicializamos a instância textFieldParser da classe TextFieldParser especificando o caminho para nosso arquivo CSV no construtor. Em seguida, definimos nosso tipo de campo de texto para ser delimitado com a função textFieldParser.TextFieldType = FieldType.Delimited e definimos , como o delimitador com a função textFieldParser.SetDelimiter(','). Em seguida, usamos um loop while para ler o arquivo CSV até o final com o textFieldParser.EndofData. Armazenamos os dados dentro de um array de strings com a função ReadFields().
Analise o arquivo CSV com a biblioteca FileHelpers em C#
A biblioteca FileHelpers é usada para ler e gravar dados em arquivos, fluxos e strings em C#. É uma biblioteca de terceiros e não vem pré-instalada com o framework .NET. Podemos instalá-lo facilmente pesquisando-o no gerenciador de pacotes NuGet no Visual Studio IDE. Podemos usar a classe FileHelpersEngine para analisar dados de um arquivo CSV em C#. A classe FileHelperEngine obtém os dados do arquivo em objetos de classe em C#. Portanto, primeiro temos que criar uma classe de modelo que possa conter nossos dados do arquivo. A classe conteria campos que representam colunas no arquivo CSV. Podemos usar [DelimitedRecord(",")] para especificar que , é usado como um delimitador aqui. Podemos usar a função ReadFile(path) para ler dados dentro de um array de objetos de classe do arquivo no caminho especificado. O exemplo de código a seguir nos mostra como analisar um arquivo CSV com a biblioteca FileHelpers em 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);
}
}
}
}
Resultado:
Name Age MMA 22 SDA 19 SHA 11
No código acima, lemos os dados dentro do arquivo C:\File\records.csv e os salvamos em um array de objetos da classe Record com a biblioteca FileHelpers em 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