Hier ein einfaches Beispiel, wie man eine CSV-Datei in ein Array laden kann:
$oFile = fopen("Beispiel.csv", "r");
$aData = array(); //Enthaelt die Daten aus der CSV-Datei
while(!feof($oFile)) $aData[] = fgetcsv($oFile, 0, ";");
fclose($oFile);
$aData = array(); //Enthaelt die Daten aus der CSV-Datei
while(!feof($oFile)) $aData[] = fgetcsv($oFile, 0, ";");
fclose($oFile);
Servus,
warum so umständlich? Nimm doch einfach fgetcsv(). Vorteil: du kannst das Parsing an die Struktur der csv anpassen (Delimiter, Anführungszeichen, etc)
http://de2.php.net/manual/de/function.fgetcsv.php
Grüße
Hallo Nerdish,
vielen Dank für deinen Verbesserungsvorschlag. Habe den Artikel entsprechend angepasst. Durch die Verwendung der fgetcsv-Methode wird der Code noch etwas schlanker und transparenter. Sowohl Feld-Trennzeichen und Feld-Begrenzungszeichen lassen sich auch bei der str_getcsv-Methode angeben.
Viele Grüße und ein schönes Wochenende!
Sebastian
Alakazaam-information found, problem sloved, thanks!
Hi Sebastian,
ich habe vor ner Weile mal diese kleine Library geschrieben ( https://github.com/DracoBlue/Craur ). Echt praktisch, weil man damit sehr simpel CSV, XML und JSON (nun auch Excel+Yaml) lesen und schreiben kann.
Grund für die Library war, dass man oft Schwierigkeiten mit Default-Values und mehrdimensionalen Objekten hat (Beispiel am Anfang der Craur README.md).
Eventuell auch was für Dich. 😉
– Jan
Meiner Meinung nach ist es so, falls allе Schreiber und Blogger
so einen super Inhalt wie du in dаs Inteгnet stellen
würden, gaebе es so viel mehr Nuetzlicheѕ zu findеn.
I was looking everywhere and this popped up like nohting!
Was, wenn in einer Tabellenzelle der Strichpunkt vorkommt?
Eine CSV-Datei kann auch so aussehen:
Julia, Jan, Jonas; „Lisa;Leon;Lara“; Norbert,Nele,Nadine
Paul, Petra, Pit; Stefan,Simone,Sonja; „Reiner; Robert; Ramona“
[…]
Dann kann man das Array wegschmeißen.
Hallo Eddie,
in diesem Fall kann man den betreffenden String escapen
z.B. Lisa;Leon;Lara
siehe (letzter Parameter): http://php.net/manual/de/function.fgetcsv.php
Oder man nimmt halt einen alternativen Delimiter.
Viele Grüße