martedì 12 aprile 2016

Lettura di un file (.csv) in Visual Studio

Il  file (.csv) di dati finanziari preso in esame possiamo trovarlo facilmente nel seguente sito: https://it.finance.yahoo.com/q?s=IBM. Questo dataset è costituito da tre colonne: Data, divisa per anno mese giorno ora minuti e secondi, prezzo Bid e prezzo Ask. Il nostro scopo consiste nel leggere il file all’interno di una “RichtextBox” tramite il sitema Visual Studio. I due linguaggi che consideriamo sono:Vb.Net e C#.Il file dei dati storici ( in formato .csv) sono:


2016 2 3  9 30  1   105       105.02
2016 2 3  9 30  2   105.01    105.03
2016 2 3  9 30  3   105.03    105.05
2016 2 3  9 30  4   105.05    105.09
2016 2 3  9 30  5   104.98    105.01
2016 2 3  9 30  7   105.95    106
2016 2 3  9 30  9   104.33    105.02
2016 2 3  9 30  10  105.09    105.13
2016 2 3  9 30  12  105.27    105.89
2016 2 3  9 30  13  104.37    105.74
2016 2 3  9 30  15  104.68    105.99
2016 2 3  9 30  17  105       105.99
2016 2 3  9 30  18  105.16    105.44
2016 2 3  9 30  19  105.25    105.56
2016 2 3  9 30  21  105.08    105.65

La funzione che utilizziamo per la lettura del file è la Funzione Streamreader.

Quali sono le differenze della funzione Streamreader nei linguaggi Vb.Net e C#?
  • Vb.Net: Questa funzione serve per gestire e leffere i file di testo semplificando il codice. Infatti  per aprire e leggere nella RichTextBox un file selezionato presenta la seguente forma:
Dim o As New OpenFileDialog
o.ShowDialog()
Dim nomefile = o.FileName
Me.RichTextBox1.AppendText(nomefile)
Dim lett As StreamReader = New StreamReader(nomefile)

  • C#: La funzione StreamReader serve per leggere i file di testo e si trova nello spazio dei nomi System.IO che fornisce buone prestazioni ed è facile da aggiungere ai programmi. Spesso viene usato con l'istruzione using in quanto bisogna usare lo StreamReader all'interno di una using dichiarazione che consente lo smaltimento del file e rende questa funzione molto più facile da utilizzare. Il codice utilizzato per aprire e leggere un file selezionato presenta la seguente forma:
OpenFileDialog o = new OpenFileDialog();
o.ShowDialog();
dynamic nomefile = o.FileName;
this.richTextBox1.AppendText(nomefile);
StreamReader lett = new StreamReader(nomefile);

Per prima cosa, bisogna creare un nuovo form (letteralmente “forma”, “immagine”, ma in questo caso indica genericamente la “finestra” di Windows) che altro non è che l’elemento centrale di ogni applicazione; un form, infatti, costituisce la base dell’interfaccia utente: è in un form che vengono inseriti tutti gli altri controlli, siano essi pulsanti, caselle di testo, timer, immagini, ecc.




A questo punto, quindi, è possibile inserire la ReachTextBox all'interno della quale sarà possibile leggere i dati che saranno importati. Insieme ad essa, è possibile inserire un altro controllo fondamentale, il bottone, che permette all'utente di interagire col programma in questione con un click. Entrambi possono essere inseriti all'interno del form attraverso la Casella degli strumenti.





Inoltre è possibile leggere un file di testo tramite il linguaggio Vb.Net con il metodo readtoend che permette di leggere il testo tutto insieme e ne di seguito riportato il codice:



 
Un altro metodo è quello che permette di leggere il file di testo riga per riga ed è chiamato metodo readline che presenta il seguente codice:


Si usa poi il Code Converter per tradurre le istruzioni dal linguaggio VB.NET al linguaggio C#.
figura 5
Metodo readtoend:



Metodo readline:


Nessun commento:

Posta un commento