csv-datei nachfrage
heinzi
- php
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
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
Danke!
Hat natürlich mit einer while-erweiterung um !$data[0] geklappt.
Hätte man auch selbst ausprobieren können....
gruß heinzi
ich lese eine csv-datei in ein Array.
Also fopen, fseek, fgetcsv usw. mit Semikolon als Trennzeichennun 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
Hi zusammen,
ich lese eine csv-datei in ein Array.
Also fopen, fseek, fgetcsv usw. mit Semikolon als Trennzeichennun 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!
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