leerzeichen prob bei import

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • leerzeichen prob bei import

    abend zusammen

    hab ein Skript am laufen was seinen zweck nicht erfüllt

    LOAD DATA INFILE "t$buffer" INTO TABLE tmp
    FIELDS TERMINATED BY ' '
    LINES TERMINATED BY '\n';

    da t$buffer eine feste breite feldstruckt hat wird das ganze je mit space aufgefüllt

    oben passiert nun das in die felder 4,5,6 jeweils 0 eingetragen wird da nach feld3 jeder zweite space als eintrag erkannt wird

    ausserdem wird das Datum aus feld1 falsch importet in dat tt.mm.jjjj
    in tab dann jjjj.mm.tt soweit ja richtig aber wie kann ich das beim import berücksichtigen.
    [COLOR=crimson]
    kann sein das das bei den spaces hilft habs aber nicht verstanden

    FIELDS [OPTIONALLY] ENCLOSED BY steuert die Art von Anführungszeichen von Feldern. Wenn Sie bei der Ausgabe (SELECT ... INTO OUTFILE) das Wort OPTIONALLY auslassen, sind alle Felder vom ENCLOSED BY-Zeichen eingeschlossen. Ein Beispiel einer solchen Ausgabe (mit Kommas als Feldbegrenzern) ist unten dargestellt:

    "1","eine Zeichenkette","100.20"
    "2","eine Zeichenkette, die ein Komma (,) enthält","102.20"
    "3","eine Zeichenkette, die ein \" Anführungszeichen enthält","102.20"
    "4","eine Zeichenkette, die ein \", Anführungszeichen und Komma (,) enthält","102.20"
    Wenn Sie OPTIONALLY angeben, wird das ENCLOSED BY-Zeichen nur benutzt, um CHAR- und VARCHAR-Felder zu umschließen:

    1,"eine Zeichenkette",100.20
    2,"eine Zeichenkette mit einem , Komma",102.20
    3,"eine Zeichenkette mit einem \" Anführungszeichen",102.20
    4,"eine Zeichenkette mit \", Anführungszeichen und Komma",102.
    [/COLOR]


    schon mal danke
    Zuletzt geändert von tmp; 09.01.2004, 20:25.

  • #2
    mach mal noch ein ENCLOSED BY '"' und evtl ein ESCAPED BY '\\\' in deine query
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      habs auf deinen rat noch mal versucht gibt die dollsten ergebnisse

      hatte ich vorher schon so

      ich denke da muß ich php bemühen
      damit kann ich ja die datei etwas verwursten

      z.b. alle überschüssigen space löschen

      muss ich eh mit php arbeiten da ich mir die daten erst vom unixserver holen muss und das geht ja nur mit php da sql keinen speicherort mit ftp://userw@......../mount unterstützt

      ich kuck mal wies gehen kann
      hab noch keinen schimmen

      hab die datei mal als .txt angehängt

      michel
      Angehängte Dateien

      Kommentar


      • #4
        wieso waren in deinem beispiel die felder von " umgeben, jedoch nicht (mehr) in der text-datei?
        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


        Kommentar


        • #5
          felder sind nicht " eingeschlossen genau so wie in der .txt

          daher geht ja auch bei einem space
          LOAD DATA INFILE "t$buffer" INTO TABLE tmp
          FIELDS TERMINATED BY ' '
          LINES TERMINATED BY '\n';

          im original ist es keine .txt
          hab das nur gemacht damit ich sie mal hier anhängen kann

          gibt es denn keine möglichkeit die länge des string´s/eintrags anzugeben der die feldlänge begrenzt hab nix gefunden

          es gibt aber xxx.smi files die ja eine detailangabe für die länge enthalten
          kann man die nicht irgend wie nutzen

          grüße

          Kommentar


          • #6
            wenn du ' ' (space) als trenner hast, und der trenner auch im DS vorkommen kann/darf/soll, MUSST du die texte enclosen. also " drum.
            INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


            Kommentar


            • #7
              ich hätte die einträge gern ohne space

              wie sieht es denn damit aus

              ich mach die tab breit genug um alle space unterzubringen
              wie bekomme ich dann die einträge wieder auf linie sprich
              einträge in die richtigen spalten durchsortieren

              grüße

              Kommentar


              • #8
                ich habe oben bereits was dazu gepostet.

                wie wäre es, wenn du dir einfach mit php ein script schreibst, was den string entsprechend zeilenweise herauslöst?
                INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                Kommentar


                • #9
                  jo ich geb mein bestes

                  wenns stockt schreib ich noch mal was

                  michel

                  Kommentar

                  Lädt...
                  X