2012-12-20 8 views
5

Mögliche Duplizieren:
how to extract data from csv file in phpPHP-und CSV-Datei - wie Ende der Zeile zu erkennen?

ich einige Daten in XLS, ich sie als CSV speichern, ist das Trennzeichen ** Komma *. Dann versuche ich, die Daten aus dieser CSV-Datei zu laden:

$input = explode("\r\n", fread($file, filesize("my_data.csv"))); 
print_r($input); 

Der Ausgang:

Array ([0] => data from the CSV file) 

Das ist das Problem - in dem Array ist immer nur ein Element, in dem alle ausgedruckt wird Daten aus der CSV-Datei. Wie ist das möglich? Warum befinden sich im Array nicht so viele Elemente wie in der CSV-Datei?

Auch ich habe versucht, "\r\n" für "\ n" zu ändern, aber es ist das gleiche.

Was ich versuche zu tun - jede Zeile aus der CSV-Datei und diese jede Zeile laden zu verarbeiten.

BEISPIEL DER DATEI:

a,b,c,d 
e,f,g,h 

OUTPUT:

a,b,c,d e,f,g,h

+2

Verwenden Sie die integrierte Funktion fgetcsv() zum Lesen von CSV-Daten –

+0

Gibt es einen Grund, warum Sie http://php.net/manual/en/function.fgetcsv.php nicht verwenden? Versuchen Sie nicht, CSV-Daten selbst zu analysieren - Sie werden in eine Welt voller Schmerzen mit etwas Komplizierterem als einer einfachen Liste von Zahlen geraten. –

+0

Aber Leute, wie lösen Sie das letzte Element in der Reihe? Da dieses letzte Element am Ende ein Komma hat, wird das letzte Element mit dem ersten Element in der zweiten Zeile zusammengeführt. – user984621

Antwort

4

Ich würde empfehlen, in CSV-Datei Lesefunktion fgetcsv() gebaut PHP verwenden und nicht selbst zu erstellen: http://php.net/manual/en/function.fgetcsv.php

+0

Ich weiß nicht, ob es ein Fehler ist oder, aber wenn ich das versuche, hat das letzte Element in der Zeile am Schluss kein Komma - was mich in Schwierigkeiten bringt ... weil ich die erwartete Ausgabe nicht bekomme. – user984621

+0

Ray, bitte überprüfe das OP, dies ist die Ausgabe, die ich bekomme, wenn ich dieses Snippet verwenden werde - der Buchstabe "d" und "e" werden in einem Element zusammengeführt. Das ist mein ganzes Problem, das ich nicht lösen kann. – user984621

0

Wie ich dieses Problem gelöst:

In der XLS-Datei, bevor die Datei in CSV exportieren, habe ich am Ende des Blattes eine weitere Spalte mit dem char '.

Verwandte Themen