Metodi disponibili per leggere file testuali di dati statistici

Per leggere i file di testo, in Visual Studio, esistono diversi modi, ovvero:
  • Hardcode:consiste nel definire una nuova variabile di tipo stringa cui viene assegnato il path del file che si vuole leggere. Metodo poco flessibile, infatti quando si vuole cambiare il file da leggere, si deve andare a modificare ogni volta il codice manualmente.
Dim NomeFile As String = "C://StatisticaApplicata / ... .csv"

  • StreamReader: è presente in tutti i linguaggi di Visual Studio e può essere utilizzato per diversi formati.
'ottenimento del path con una Open File Dialog

Dim ofd As New OpenFileDialog
ofd.ShowDialog()

 
'istanziamento del path in un oggetto

Dim sr As New System.IO.StreamReader(ofd.FileName)
 
'lettura delle righe del file e estrazione dei dati

Dim sr As New StreamReader(ofd.FileName)
Dim RigaH As String = sr.ReadLine()   'in questo modo leggo l'header
While Not sr.EndOfStream
Dim RigaDati As String = sr.ReadLine()
Dim Dati() As String = RigaDati.Split(";".ToCharArray,StringSplitOptions.RemoveEmptyEntries)
End While

  • TextFieldParsed: è specializzato nella lettura di file csv. 
'inizializzazione del path

Dim tap As New Microsoft.VisualBasic.FileIO.TextFieldParse(FileName)
 
'comando sostitutivo dello spalti nel ciclo

tfp.ReadFilds()
 
'inizializzazione proprietà delimitatori

tfp.SetDelimiters(New String() {","})
tfp.CommentTokens = New String() {"#"}
tfp.HasFieldsEnclodesInQuotes = True


StreamReader è presente sia in VB.NET che in C#, mentre TextFieldParsed appartiene solo a VB.NET e per utilizzarlo in C# occorre aggiungere una reference in più. 

L’impostazione generale delle operazioni di lettura di file testuali di dati statistici è:

  1. Ottenere il nome (la path) del file csv ;
  2. Istanziazione dell’oggetto lettore/parser con la path (sapere su quale file operare);
  3. Leggere le righe del file e l’eventuale header (i nomi delle variabili);
  4. Estrarre i dati per ciascuna riga;
  5. Memorizzazione dei dati (con eventuali conversioni) di ciascuna riga all’interno di un apposito oggetto (istanza di una classe) che rappresenta l'unità statistica;
  6. Memorizzazione dell’oggetto in una struttura dati (ad esempio Lista o Dictionary);
  7. Analisi statistiche, elaborazioni, rappresentazioni della lista di oggetti.



Commenti

Post popolari in questo blog