Hvordan å analysere en CSV-fil med VB

Formatet CSV (kommadelte verdier) er en av de vanligste for datafiler. Et komma blir brukt til å avgrense objekter på hver linje av filen. Mange programmer, for eksempel Excel, data utgang i dette formatet. Programmerere vil laste inn data fra en CSV-fil til en kodestruktur som en matrise eller bord. Visual Basic 2008 inneholder funksjoner som reduserer koden kreves for å analysere (separat en stor blokk av data inn i forskjellige elementer) en csv-fil.

Bruksanvisning

1 Vi vil skape og analysere et enkelt datafil for illustrasjon. Åpne teksteditor og skriv inn følgende data:

1,2,3,4,5,6
A, B, C, D, E

2 Lagre denne filen til \ "c: \ test.csv \".

3 Åpne Visual Basic-programmet og opprette et nytt prosjekt ved hjelp av \ "Ctrl \" og \ "N \" nøkler. Velg \ "Windows Forms Application \" mal.

4 Lag en knapp merket \ "Button1 \" på skjemaet.

5 Dobbelklikk på \ "Button1 \" og skriv inn følgende kode:

Bruke myReader som ny Microsoft.VisualBasic.FileIO.TextFieldParser _

(\"c:\\test.csv\")
MyReader.TextFieldType = Microsoft.VisualBasic.FileIO.FieldType.Delimited
'set the delimiter to any value
MyReader.Delimiters = New String() {\",\"}

Dim currentRow As String ()

'Loop gjennom alle feltene i filen.
«Hvis noen linjer er korrupte, rapporterer en feil, og fortsette parsing.
Mens Ikke MyReader.EndOfData
Prøve
currentRow = MyReader.ReadFields ()
'Utgang den andre verdien av hver linje for å vise at filen har blitt analysert.
MsgBox (currentRow (1))
'Ta med koden her å håndtere rad.
Catch ex As Microsoft.VisualBasic.FileIO.MalformedLineException
MsgBox (\ & quot; linje \ & quot; & amp; ex.Message & amp; _
\ & Quot; er ugyldig. Skipping \ & quot;)
End Try

slutt Mens

Slutt å bruke

6 Utføre koden i debug-modus ved hjelp av \ "F5 \" -tasten.

7 Klikk på \ "Button1 \" for å henrettet analysekoden. En meldingsboks for hver linje i filen vil vises på skjermen med den andre verdien av den linjen vises.

Hint

  • Endring av skilleverdien i koden vil tillate denne koden som skal brukes for flere filtyper.