heinzi: csv-datei nachfrage

Hi zusammen,

ich lese eine csv-datei in ein Array.
Also fopen, fseek, fgetcsv usw. mit Semikolon als Trennzeichen

nun habe ich das Problem, dass wenn bespw. 40 Zeilen unter dem letzen eintrag noch ein semikolon gesetzt wird (warum auch immer), mein skript bis dahin leere zeilen ausliest.

das will ich natürlich vermeiden.

aber wie?

Hat da ein er eine idee?

danke, gruß heiniz

  1. Grüße,
    fgescsv liest eine datei zeilenweise, sodass du es wohl in eshcleife ausführst - daher brauchst du deine evtl. while schleife um die !$csvghelesenzuletzt[0] bedingung zu erweitern. es würde das auslesen unterbrechen sobald array mit einem leeren element anfängt (leere zeile)
    alternativ ließe sich mit str_getcsv was machen.
    MFG
    bleicher

    --
    __________________________-
    Menschen an sich , sind nicht schlecht - es sind nur ihre Taten (c).
    http://www.sexgott-or-not.com/?test=428054
    1. Danke!
      Hat natürlich mit einer while-erweiterung um !$data[0] geklappt.
      Hätte man auch selbst ausprobieren können....

      gruß heinzi

  2. ich lese eine csv-datei in ein Array.
    Also fopen, fseek, fgetcsv usw. mit Semikolon als Trennzeichen

    nun habe ich das Problem, dass wenn bespw. 40 Zeilen unter dem letzen eintrag noch ein semikolon gesetzt wird (warum auch immer), mein skript bis dahin leere zeilen ausliest.

    das will ich natürlich vermeiden.
    aber wie?

    Fragen eines Perl Coders:

    Wie arbeiten die Funktionen, die du verwendest?
    (Was immer dir hier darüber erzählt wird, kann sich als irrelevant erweisen).
    Welche Rolle spielt der Zeilenseparator \n für dein Einlesen?
    Warum liest du etwas ein, was du nicht willst?
    (leere Zeilen -> erzeugt leere Arrays)
    Warum erzeugst du etwas an erster Stelle, das du nicht willst?
    (leere Zeilen)

    Summarisch: Warum überprüfst du nicht die Validität deines Tuns?

    mfg Beat

    --
    Selber klauen ist schöner!
  3. Hi zusammen,

    ich lese eine csv-datei in ein Array.
    Also fopen, fseek, fgetcsv usw. mit Semikolon als Trennzeichen

    nun habe ich das Problem, dass wenn bespw. 40 Zeilen unter dem letzen eintrag noch ein semikolon gesetzt wird (warum auch immer), mein skript bis dahin leere zeilen ausliest.

    das will ich natürlich vermeiden.

    aber wie?

    was ist, wenn 3 leere zeilen sind und dann wieder eine sinnvolle?

    überprüfe einfach ob alle felder des datensatzes leer sind
    wenn ja -> ignoriere diesen datensatz
    wenn nein -> prüfe ob er ungultig ausgefüllt ist
      wenn ja -> ignoriere diesen datensatz
      wenn nein -> win!

  4. Hello,

    nur mal so aus eigenem Interesse gefragt:
    Was machst Du denn mit fseek()?
    Woher erhältst Du die Position, auf die Du den Dateizeiger stellen willst?

    Ein harzliches Glückauf

    Tom vom Berg

    --
    Nur selber lernen macht schlau
    http://bergpost.annerschbarrich.de