Analisar arquivo CSV em C#
-
Analisar arquivo CSV com a classe
TextFieldParser
emC#
-
Analise o arquivo CSV com a biblioteca
FileHelpers
emC#
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