Analizza file CSV in C#
-
Analizza il file CSV con la classe
TextFieldParser
inC#
-
Analizza il file CSV con la libreria
FileHelpers
inC#
Questo tutorial discuterà i metodi per analizzare un file CSV in C#.
Analizza il file CSV con la classe TextFieldParser
in C#
Per utilizzare la classe TextFieldParser
, dobbiamo fare riferimento a Microsoft.VisualBasic.dll
nel nostro codice C#. La classe TextFieldParser
contiene molti metodi per analizzare i file di testo strutturato in C#. Possiamo leggere un file CSV con la classe TextFieldParser
impostando i delimitatori su ,
con la funzione SetDelimiters()
all’interno della classe TextFieldParser
. Il seguente esempio di codice ci mostra come analizzare un file CSV con la classe TextFieldParser
in 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();
}
}
}
}
}
Nel codice precedente, abbiamo inizializzato l’istanza textFieldParser
della classe TextFieldParser
specificando il percorso del nostro file CSV nel costruttore. Quindi impostiamo il nostro tipo di campo di testo da delimitare con la funzione textFieldParser.TextFieldType = FieldType.Delimited
e impostiamo ,
come delimitatore con la funzione textFieldParser.SetDelimiter(',')
. Abbiamo quindi utilizzato un cicli while
per leggere il file CSV fino alla fine con textFieldParser.EndofData
. Abbiamo memorizzato i dati all’interno di un array di stringhe con la funzione ReadFields()
.
Analizza il file CSV con la libreria FileHelpers
in C#
La libreria FileHelpers
viene utilizzata per leggere e scrivere dati su file, flussi e stringhe in C#. È una libreria di terze parti e non è preinstallata con il framework .NET
. Possiamo installarlo facilmente cercandolo nel gestore pacchetti NuGet nell’IDE di Visual Studio. Possiamo usare la classe FileHelpersEngine
per analizzare i dati da un file CSV in C#. La classe FileHelperEngine
ottiene i dati dal file in oggetti di classe in C#. Quindi, dobbiamo prima creare una classe modello che possa contenere i nostri dati dal file. La classe conterrebbe campi che rappresentano le colonne nel file CSV. Possiamo usare [DelimitedRecord(",")]
per specificare che ,
è usato come delimitatore qui. Possiamo usare la funzione ReadFile(path)
per leggere i dati all’interno di un array di oggetti di classe dal file nel percorso specificato. Il seguente esempio di codice ci mostra come analizzare un file CSV con la libreria FileHelpers
in 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);
}
}
}
}
Produzione:
Name Age MMA 22 SDA 19 SHA 11
Nel codice sopra, leggiamo i dati all’interno del file C:\File\records.csv
e li salviamo in un array di oggetti della classe Record
con la libreria FileHelpers
in 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