Kann jemand freundlicherweise einen Code zum Erstellen eines Arrays aus einer CSV-Datei mit fgetcsv bereitstellen?
Ich habe den folgenden Code verwendet, um ein Array aus einer einfachen CSV-Datei zu erstellen, aber es funktioniert nicht richtig, wenn eines meiner Felder mehrere Kommas enthält - z. B. Adressen.
$lines =file('CSV Address.csv');
foreach($lines as $data)
{
list($name[],$address[],$status[])
= explode(',',$data);
}
* Außerdem wird str_getcsv von meinem Hosting-Service nicht unterstützt.
Der obige Code funktioniert nicht mit dem folgenden CSV-Dateibeispiel. Die erste Spalte ist der Name, die zweite Spalte ist die Adresse, die dritte Spalte ist der Familienstand.
Scott L. Aranda,"123 Main Street, Bethesda, Maryland 20816",Single
Todd D. Smith,"987 Elm Street, Alexandria, Virginia 22301",Single
Edward M. Grass,"123 Main Street, Bethesda, Maryland 20816",Married
Aaron G. Frantz,"987 Elm Street, Alexandria, Virginia 22301",Married
Ryan V. Turner,"123 Main Street, Bethesda, Maryland 20816",Single
Antworten:
Wie Sie in Ihrem Titel gesagt haben, ist fgetcsv der richtige Weg. Es ist verdammt einfach zu bedienen.
Sie sollten dort weitere Fehlerprüfungen durchführen, falls dies
fopen()
fehlschlägt. Dies funktioniert jedoch, um eine CSV-Datei Zeile für Zeile zu lesen und die Zeile in ein Array zu analysieren.quelle
list($names[], $addresses[], $statuses[]) = $line;
Ich denke, die Syntax str_getcsv () ist viel sauberer, es erfordert auch nicht, dass die CSV im Dateisystem gespeichert wird.
Oder für eine zeilenweise Lösung:
Oder für eine zeilenweise Lösung ohne str_getcsv ():
quelle
Ich habe eine Funktion erstellt, die eine CSV-Zeichenfolge in ein Array konvertiert. Die Funktion kann Sonderzeichen umgehen und funktioniert mit oder ohne Gehäusezeichen.
Ich habe es mit Ihrem CSV-Beispiel versucht und es funktioniert wie erwartet!
quelle
quelle
Alte Frage, aber immer noch relevant für PHP 5.2-Benutzer. str_getcsv ist ab PHP 5.3 verfügbar. Ich habe eine kleine Funktion geschrieben, die mit fgetcsv selbst funktioniert.
Unten ist meine Funktion von https://gist.github.com/4152628 :
Kehrt zurück
Beginnen Sie mit dem Lesen von CSV
quelle
Versuche dies..
quelle
Diese Funktion gibt ein Array mit Header-Werten als Array-Schlüssel zurück.
quelle
Um ein Array mit den richtigen Schlüsseln zu erhalten, können Sie Folgendes versuchen:
quelle
Bitte finden Sie unten einen Link zur Funktion von @knagode, der um einen Parameter zum Überspringen von Zeilen erweitert wurde. https://gist.github.com/gabrieljenik/47fc38ae47d99868d5b3#file-csv_to_array
quelle
Ich habe mir diesen ziemlich einfachen Code ausgedacht. Ich denke, es könnte für jeden nützlich sein.
quelle
Wenn Sie möchten, dass sich jede Zeile in einem Array und jede Zelle in der Zeile im Array befindet:
quelle
Versuchen Sie diesen Code:
quelle
quelle
quelle