martedì 4 aprile 2017

Parsing the CSV file




Il parsing, in informatica, è il processo che analizza un flusso di dati in input per determinarne la struttura con una specifica grammatica formale.

Il parser (programma che esegue il parsing) determina se e come un input può derivare dal simbolo iniziale.
Esistono due principali metodi di parsing:
- Metodo top-down, che cerca di trasformare il simbolo iniziale nell'input attraverso ripetute segmentazioni;
- Metodo bottom-up, che invece cerca di riscrivere l'input sotto forma di simbolo iniziale.

Nello specifico, ci soffermiamo sulla lettura di un file .csv (comma-separeted values) e la sua trasposizione in una RichTextBox in VB.NET e C#, andando a trattare di seguito un esempio illustrativo in VB.NET e nell'articolo successivo i diversi metodi utilizzabili nei due linguaggi di programmazione.

Dopo aver creato il Form e averci inserito un Button (Button1) e una RichTextBox (RichTextBox1):

Import System.IO

Public Class Form 1
    

Vado a definire cosa controlla il Button1
Sub Button1_Click(Sender As Object, e As EventArgs) Handles Button1.Click     

Acquisizione del nome del file
Dim o As New OpenFileDialog
o.ShowDialog()
Dim NomeFile As String = o.FileName
Acquisizione alternativa del nome del file
Dim NomeFile As String = " percorso file "

Definizione del lettore: utilizzo la funzione StreamReader
Dim s As New StreamReader(NomeFile)

Definisco un Loop fino alla lettura dell'ultima riga
Do
Dim RigaDelFile = s.ReadLine()
Non considero le righe di commento o le righe vuote
If RigaDelFile.Contains("#") Then Continue Do
If RigaDelFile.Contains(" ") Then Continue Do
Dim Pezzi As String() = RigaDelFile.Split(" ".ToCharArray, StringSplitOptions.RemoveEmptyEntries)
Trasferisco il tutto alla RichTextBox1
Me.RichTextBox1.AppendText(RigaDelFile & Environment.NewLine)
Loop Untile s.EndOfStream

End Sub

End Class


Nessun commento:

Posta un commento