Anzeige:
Ergebnis 1 bis 4 von 4

Thema: CSV-Datei parsen - Problem mit leeren Spalten

  1. #1
    Registrierter Benutzer
    Registriert seit
    29.11.2006
    Beiträge
    8

    CSV-Datei parsen - Problem mit leeren Spalten

    Hi,
    ich versuche gerade eine CSV Datei einzulesen und anschließend in eine SQL Datei umzuwandeln, jedoch habe ich hierbei das Problem mit leeren Spalten.

    Beispiel

    Code:
    Spalte1 Spalte2 Spalte3
    23     331     999
    233     3332     997
    4           995
    Wie man sieht bereitet die 4. Zeile das Problem, denn dort ist die 2.Spalte leer.
    Wenn ich das ganze jetzt mit
    PHP-Code:
     preg_match_all("/(\S*)\s*/" ..... 
    in ein Array mappe, dann bekomme ich leider
    PHP-Code:
    array (
       array (
    23331999),
       array (
    2233332. 997),
       array (
    4995)
    ); 
    als Array zurück.

    Das Problem ist, leider ist weder die Breite der Spalten, noch die Anzahl der Leerzeichen konstant.
    Und leider ist die Anzahl der Spalten auch für jede Datei unterschiedlich (ich kann sie jedoch anhand der Spaltenüberschrift bestimmen).

    --> Habt ihr irgendeine Idee, wie ich den leeren Eintrag dennoch richtig mappen kann?


    Vielen Dank schonmal.

  2. #2
    Registrierter Benutzer
    Registriert seit
    15.10.2005
    Ort
    Franken
    Beiträge
    362
    Das ist kein CSV. Das heißt "Coma seperated Values" (wegen Rechtschreibung: Guckt auf die Zeit des Eintrags).
    Guck dir die erste Zahl an, guck dir die letzte Zahl an. Guck dann ob noch eine Zahl in der Mitte kommt.
    Das ginge, wenn nur die Zahl in der Mitte fehlen würde.

    Ich persönlich sehe hinter deinem Beispielbeitrag keine Logik. Es könnte auch der erste Eintrag oder der letzte Eintrag fehlen. Und wo keine Logik, da kann auch ein Rechner die Daten nicht sinnig zerlegen.
    Dank der Rekursion kann ich IF-Schleifen bauen.

    In neuem Glanz: www.turbohummel.de

  3. #3
    Registrierter Benutzer Avatar von elrond
    Registriert seit
    03.10.2001
    Ort
    potsdam
    Beiträge
    881
    wenn ich sowas mache -also relativ häufig- splitte ich zeile für zeile und checke dann die einzelnen felder....
    "Um die Welt zu ruinieren, genügt es, wenn jeder seine Pflicht tut." (Winston Churchill)

  4. #4
    Registrierter Benutzer Avatar von BlueJay
    Registriert seit
    27.08.2004
    Beiträge
    825
    Zitat Zitat von broeggle Beitrag anzeigen
    ich versuche gerade eine CSV Datei einzulesen und anschließend in eine SQL Datei umzuwandeln, jedoch habe ich hierbei das Problem mit leeren Spalten.

    Beispiel

    Code:
    Spalte1 Spalte2 Spalte3
    23     331     999
    233     3332     997
    4           995
    Ist die brav als CSV von einem anderen Programm exportiert worden oder sieht sie wie oben aus? Dann exportiere sie nochmal mal mit Komma oder Semmelkorn als Trenner.

    Dann kannst du sie wieder mit fgetcsv einlesen.

    so long,
    BlueJay
    Eigentlich ganz einfach, wenn man's weiss!

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •