ERLEDIGT
NEIN
NEIN
ANTWORTEN
5
5
ZUGRIFFE
1471
1471
EMPFEHLEN
-
11.06.07 16:02 #1
- Registriert seit
- Jan 2002
- Beiträge
- 481
Hallo,
folgendes Problem tritt auf. Ich lese eine Datei aus mit:
$Dateizeiger = fopen($csv_file , "r");
und dann
while(($Daten = fgetcsv($Dateizeiger, 1000, ";")) !== FALSE)
{...}
Wie man sieht ist das Trennzeichen ein Semikolon und wird auch in der Funktion fgetcsv so angegeben. Aber blöderweise seperiert diese Funktion erstmal gar nicht richtig, sondern es wird ein Array der Größe 2 erstellt. An Position 1 befindet sich der gesamte String des CSV File (also xyz; xyz; xyz; ...). Erst nach dem letzten Semikolon wird separiert und somit ist Position 2 des Array leer.
Nun teile ich den String im Array[0] mit EXPLODE.
explode(";", $Daten[0])
Aber dadurch wird der String nicht richtig getrennt. Er wird zwar nach einem Semikolon getrennt, aber eben auch nach einem Komma ( "," ). Wieso das? In dem String kommt auch genau einmal ein "," vor, dort darf aber nicht getrennt werden.
Zähle ich die Kommas mit
echo substr_count($Daten[0], ',');
wird dann komischerweise keins gefunden...
-
Do solltest wohl nicht explode(";", $Daten[0]) sondern explode(";", $Daten) machen
Der Computer ist die logische Weiterentwicklung des Menschen: Intelligenz ohne Moral.
-
11.06.07 16:29 #3
- Registriert seit
- Jan 2002
- Beiträge
- 481
Ok danke, das klappt.
Aber jetzt stelle ich fest,m das Problem liegt def. schon vorher, also bei fgetcsv. Da wird das Komma als Separator benutzt obwohl ich Semikolon angebe. Das darf nicht sein.
-
Hmm wenn du weiterhin Probleme damit hast kannst du ja eventuell auch darauf verzichten und ein einfaches csv einlesen realisieren mit 2 Zeilen code:
PHP-Code:$csv = file('datei.csv');
foreach ($csv as $k => $r) $csv[$k] = explode(";", $r);
print_r($csv);
Der Computer ist die logische Weiterentwicklung des Menschen: Intelligenz ohne Moral.
-
12.06.07 14:24 #5
- Registriert seit
- Jan 2002
- Beiträge
- 481
Hallo,
danke. Hab das mal ausprobiert und auf den ersten Blick bekomme ich mein gewünschtes Ergebnis! Auch das Koma Problem besteht dann nicht.
Grüße
-
12.06.07 14:46 #6
- Registriert seit
- Jan 2002
- Beiträge
- 481
Nein, verdammt. Das Koma Problem besteht doch noch. Es wird als Seperator erkannt.
Ähnliche Themen
-
Richtige Syntax bei Operatorüberladung, wann sind "friend", "const", "&" nötig?
Von mrs_schokokeks im Forum C/C++Antworten: 4Letzter Beitrag: 25.08.10, 19:13 -
Verweis auf nicht aufgelöstes externes Symbol "_matClose_d" in Funktion ""public: sta
Von jnoessne im Forum C/C++Antworten: 3Letzter Beitrag: 09.11.09, 19:05 -
Eingabe in der timeline: "time*100" - bei Effekt "turbulentes Versetzen"-"Evolution"
Von MTMonline im Forum Videoschnitt, Videotechnik & -produktionAntworten: 2Letzter Beitrag: 25.04.08, 09:49 -
Bei "Zusammensetzen" "Map im Ansichtsfenster zeigen" nur bedingte funktion
Von Psycho_Dad im Forum 3D Studio MaxAntworten: 14Letzter Beitrag: 23.03.07, 09:23 -
Finder methods + JBoss + Was expecting one of: "CONCAT" "SUBSTRING" ... "(" ... <STRI
Von cengizhdde im Forum Enterprise Java (JEE, J2EE, Spring & Co.)Antworten: 6Letzter Beitrag: 27.05.05, 15:29





Zitieren
Login






[PHP][Snippet] Array zu XML konvertieren