Avatar billede getalife Nybegynder
28. juni 2002 - 00:43 Der er 11 kommentarer og
1 løsning

Importere kommasepereret fil

Hejsa

Jeg står og skal importere en kommasep. tekst-fil og skal derefter udføre noget for hver linie i filen.
Er der nogen der kan hjælpe med det? Jeg er totalt lost :o(
Avatar billede tmceu Praktikant
28. juni 2002 - 00:45 #1
Importere hvortil ?
Avatar billede getalife Nybegynder
28. juni 2002 - 01:16 #2
til et VB script
Avatar billede tmceu Praktikant
28. juni 2002 - 01:18 #3
Vil du bare behandle dem i scriptet eller vil du eks. importere til en database ? I tilfælde af førstnævnte, hvordan vil du bruge dem, som arrays eller ?
Avatar billede getalife Nybegynder
28. juni 2002 - 01:26 #4
ja, det skal være som arrays
Avatar billede tmceu Praktikant
28. juni 2002 - 01:38 #5
set FSO = Server.CreateObject("Scripting.FileSystemObject")

  Set File = FSO.GetFile("C:\blahblah\file.txt")
  Set TextStream = File.OpenAsTextStream

  Do    While Not TextStream.AtEndOfStream

      S = TextStream.ReadLine
      myArr = Split(s, ",") ' returnerer et et-dimensionelt array med felter i linien

        ' udskriver indholdet af arrayet som test
    For i = 0 To UBound(myArr)
        response.write myArr(i) & "<BR>"
    Next

  Loop

  TextStream.Close
Avatar billede getalife Nybegynder
28. juni 2002 - 02:14 #6
Den gider ikke rigtig æde det :o(
Browseren står bare og tænker.

Selve txt filen kan se således ud:
SW-NM/NVCSU04;Norman ver. 5.x, 1 bruger;1;0,00
SW-SYM/NIS/FAM;Symantec Norton Internet Security;1;0,00
MB-MS/A/6340M/266/B;MSI 6340M Duron/Thunderbird BULK;3;493,50

Jeg har ændret i koden så den splitter ved ;
Avatar billede tmceu Praktikant
28. juni 2002 - 02:40 #7
Det virker fint hos mig. Det kunne være fordi du har en stor fil. Prøv evt. at lave en testfil, eks. blot med ovenstående få linier.

Hvis den virker, er det ikke scriptet den er gal med.
Avatar billede hartnet.dk Nybegynder
28. juni 2002 - 03:18 #8
Efterfølgende bruges til at importere en semikolonsep. txt-fil til en db.
Eks. på txt-fil:
ID;Varenr;Varenavn;Pris
SW-NM/NVCSU04;Norman ver. 5.x, 1 bruger;1;0,00
SW-SYM/NIS/FAM;Symantec Norton Internet Security;1;0,00
MB-MS/A/6340M/266/B;MSI 6340M Duron/Thunderbird BULK;3;493,50

Koden:
<!--#include file="../../Connections/path.asp" -->
<!--#include file="../../Connections/conn.asp" -->
<%
set FSO = Server.CreateObject("Scripting.FileSystemObject")

Dim SQL, col
SQL = ""

  strFileName = "lagersalg.txt"
Set myFile = FSO.openTextFile(path & "txt\" & strFileName)

  SQL = SQL & "Insert Into lagersalg ("
   
  strLine = myFile.readLine
  valArr = SPLIT(strLine,";")
  for i = 0 to UBOUND(valArr)
      SQL = SQL & valArr(i)
    if( i <> UBOUND(valArr) ) then
        SQL = SQL & ", "
    end if
  next
    SQLvalues = SQL & ") VALUES ("
   
While not myFile.AtEndOfStream
  SQL = SQLvalues
  strLine = myFile.readLine
  valArr = SPLIT(strLine,";")
  for i = 0 to UBOUND(valArr)
      SQL = SQL & "'" & valArr(i) & "'"
    if( i <> UBOUND(valArr) ) then
        SQL = SQL & ", "
    end if
  next   
  SQL = SQL & ")"

  Conn.execute(SQL)
  response.write SQL &"<br>"
 
Wend
Conn.Close
set Conn = nothing 
 
 
response.write "<br><b>Alle data fra filen <u>" & strFileName & "</u> er importeret til tabellen Lagersalg</b><p>"


set myFile = Nothing

'sti = path & "txt\" & strFileName
'FSO.DeleteFile sti
'set FSO = Nothing
response.write "<br><b>All done!!</b>"

%>

Det virker uden probs.


Desuden, hvis de data som du har vist her på siden ligner den tekst-fil du skal have importeret skal du ændre lidt i den kode du har fået af "tmceu".

  S = TextStream.ReadLine
      myArr = Split(s, ",") ' returnerer et et-dimensionelt array med felter i linien

Skal ændres til:

  S = TextStream.ReadLine
      myArr = Split(s, ";") ' returnerer et et-dimensionelt array med felter i linien

Da det jo er semikolonsep. data du har angivet.


Håber du kan bruge det til noget.
Avatar billede getalife Nybegynder
29. juni 2002 - 01:39 #9
suk.. jeg bruger Norton Antivirus.. der er en smart funktion der hedder Script Blocking.. denne får åbenbart scripts der bruger FileSystemObject til at gå ned...
http://support.microsoft.com/default.aspx?scid=kb;DA;q295375
Avatar billede a1a1 Novice
29. juni 2002 - 01:44 #10
så må du jo slå det fra :o)
Avatar billede getalife Nybegynder
29. juni 2002 - 01:53 #11
Yup, done that og det funker også nu.
Det var bare en generel oplysning :o)
Avatar billede a1a1 Novice
29. juni 2002 - 01:57 #12
:) har også prøvet det...
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