Syntax for at hente data fra en tabulator separeret tekstfil?
Hej
Jeg er nybegynder inden for programmering, og ønsker at lave en applikation der bl.a. kan læse data fra en tabulator separeret teksfil. Jeg er startet med at definere en type bestående af:
Type individtype Iddyr as string Idfar as string Idmor as string End type
Herefter har jeg oprettet et array og indekseret det:
Individ(5) as individtype Dim arrayID as integer
Jeg bruger inputboxe til at komme data i mit array, og print til at skrive de indtastede data i tabulator separeret format til en tekstfil. Det fungerer fint. Mit problem er at jeg ikke kan finde ud af at få min applikation til læse tabulator separeret tekst. Jeg har eksperimenteret med både Line input og input, men kan ikke få det til at fungere.
Du kan nok ikke bruge input, men line input burde du kunne bruge. Den vil indlæse hele linien (recorden) ind i en strengvariabel. Du skal så selv herefter opdele din streng, når du finder et tab tegn (som så vidt jeg husker er ascii 9). Så det burde kunne gøres noget ala.
Sub opdel() Dim inpstr As String Dim start As Integer Dim x As Integer Open "C:\Test.txt" For Input As #1 Do While Not EOF(1) Line Input #1, inpstr x = 0 Do start = x + 1 x = InStr(start, inpstr, vbTab) If x > 0 Then Debug.Print Mid(inpstr, start, x - start), Else Debug.Print Mid(inpstr, start, Len(inpstr) - x + 1) End If Loop Until x = 0 Loop Close #1 End Sub
Lille rettelse (forbehold: stadig ikke testet under alle forhold)
Sub opdel() Dim inpstr As String Dim start As Integer Dim x As Integer Open "C:\Test.txt" For Input As #1 Do While Not EOF(1) Line Input #1, inpstr x = 0 Do start = x + 1 x = InStr(start, inpstr, vbTab) If x > 0 Then Debug.Print Mid(inpstr, start, x - start), Else Debug.Print Mid(inpstr, start, Len(inpstr) - start + 1) End If Loop Until x = 0 Loop Close #1 End Sub
#!/usr/bin/env python # -*- coding: UTF-8 -*- f = open( "file.csv", "r" ) for line in f.readlines(): felter = line.split( "\t" ) # nu har du dine data i arrayen felter print felter[0],felter[1],felter[2],felter[3],felter[4]
# python er nemt :-)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.