Avatar billede znopie Nybegynder
13. september 2009 - 13:44 Der er 10 kommentarer

Læs linjer i fil

Hej ASP eksperter

Jeg er igang med mit første script, hvor jeg vil læse linjer fra en csv fil, men kan ikke rigtig få det til at virke. Her er min kode:
<%
' S discount file
   
    ' Læs fra fil
    Set fso = CreateObject("Scripting.FileSystemObject")
    filespec = Server.Mappath("s.csv")
    Set f = fso.OpenTextFile(filespec,1)
   
        splitLine = split(f.readline, "\n")
        response.write "Ny linje split"

        ' Discount lines
    Do While not f.AtEndOfStream
        splitLine = split(f.readline, "\n")
            for l = 1 to ubound(splitLine)
            ' Discount read
                discount = split(splitLine, ";")
                response.write "Split kolon"
            ' Discount write
                for d = 0 to ubound(discount)
                    response.write discount(3) + " - " + discount(5) + " - " + discount(6) ' Number, discount and name
                    response.write "Udskriv nummer 3 5 og 6"
                next
            '
            next
            '
        Loop

%>

s.csv ser således ud:
sdsd;sdsds;sdsds;sdsdsd;sdsdsds;sdsdsdd;sdsds;sdssc;
sdsd;sdsds;sdsds;sdsdsd;sdsdsds;sdsdsdd;sdsds;sdssb;
sdsd;sdsds;sdsds;sdsdsd;sdsdsds;sdsdsdd;sdsds;sdssa;
Avatar billede keysersoze Guru
13. september 2009 - 14:30 #1
hvilke fejl får du?
Avatar billede znopie Nybegynder
13. september 2009 - 15:03 #2
Jeg får kun teksten: "Ny linje split"
Avatar billede arne_v Ekspert
13. september 2009 - 16:39 #3
Noget a la:

Set fso = CreateObject("Scripting.FileSystemObject")
filespec = Server.Mappath("s.csv")
Set f = fso.OpenTextFile(filespec,1)
Do While Not f.AtEndOfStream
  line = f.ReadLine
  discount = split(line, ";")
  Response.Write discount(3) + " - " + discount(5) + " - " + discount(6)
Loop
f.Close
Set f = Nothing
Set fso = Nothing
Avatar billede znopie Nybegynder
14. september 2009 - 16:37 #4
Ja, skal bare have alle de mange andre tusind linjer med. :)
Avatar billede arne_v Ekspert
14. september 2009 - 16:52 #5
Den kode snippet laeser vel alle linie !?
Avatar billede znopie Nybegynder
14. september 2009 - 22:15 #6
Nej, gør den desværre ikke. Den kan ikke rigtig finde ud af linjeskift. :/

Får den her:

X1 - X2 - X3
Microsoft VBScript runtime error '800a0009'

Subscript out of range: '[number: 6]'

/s/Default.asp, line 8
Avatar billede arne_v Ekspert
14. september 2009 - 22:36 #7
Kode laeser flere linier hos mig.

Er din fil en rigtigt Windows fil med linierne adskilt af CRLF eller er det en fil som kommer fra Unix med kun LF ?

Og er der 7 vaerdier i linie 2?
Avatar billede arne_v Ekspert
14. oktober 2009 - 02:17 #8
?
Avatar billede znopie Nybegynder
05. august 2010 - 17:53 #9
Mangler af give points. Læg et svar :)
Avatar billede arne_v Ekspert
05. august 2010 - 17:55 #10
ok
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester