mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Mi 24.04.2024 23:25 Benutzername: Passwort: Auto-Login

Thema: Mit PHP bestimmte Spalte aus csv einlesen? vom 01.04.2008


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> Mit PHP bestimmte Spalte aus csv einlesen?
Autor Nachricht
bluespoon
Threadersteller

Dabei seit: 10.11.2006
Ort: Hannover
Alter: 41
Geschlecht: Männlich
Verfasst Di 01.04.2008 16:29
Titel

Mit PHP bestimmte Spalte aus csv einlesen?

Antworten mit Zitat Zum Seitenanfang

Hey how,

hat jemand mal einen Ansatz für mich, wie ich lediglich
eine bestimmte Spalte aus einer CSV via PHP einlesen
kann? Und zwar solange einlesen, wie die Datei Spalten
hat.

Wie ich 'ne CSV komplett einlese weiß ich ... findet man
ja auch überall im Netz *bäh* Aber wie lasse ich meinetwegen
alle werte aus Spalte 0 ausspucken?


Gruß, Patrick
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
pixelpapst303

Dabei seit: 06.07.2006
Ort: hamburg
Alter: 50
Geschlecht: Männlich
Verfasst Di 01.04.2008 16:41
Titel

Antworten mit Zitat Zum Seitenanfang

Code:

<?php
$handle = fopen ("test.csv","r");
while ( ($data = fgetcsv ($handle, 1000, "::TRENNZEICHEN::")) !== FALSE ) {
   $ausgabe_array_der_ersten_spalte[] = $data[0];
}
fclose ($handle);
//edit:
print_r($ausgabe_array_der_ersten_spalte);
?>


nicht getestet, könnt aber klappen *zwinker*


Zuletzt bearbeitet von pixelpapst303 am Di 01.04.2008 16:42, insgesamt 2-mal bearbeitet
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Anzeige
Anzeige
bluespoon
Threadersteller

Dabei seit: 10.11.2006
Ort: Hannover
Alter: 41
Geschlecht: Männlich
Verfasst Di 01.04.2008 16:54
Titel

Antworten mit Zitat Zum Seitenanfang

Na, fast. Ich bekomme schon einmal den Wert aus der
ersten Zeile der entsprechenden Spalte. Darauf kann ich
aber mit Sicherheit aufbauen.

Vielen Dank erst einmal,

Patrick
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
pixelpapst303

Dabei seit: 06.07.2006
Ort: hamburg
Alter: 50
Geschlecht: Männlich
Verfasst Di 01.04.2008 17:07
Titel

Antworten mit Zitat Zum Seitenanfang

???

müsste, wenn du den delimiter ( ::trennzeichen:: ) richtig ersetzt hast ein array ALLER ersten spalteneinträge liefern...


Zuletzt bearbeitet von pixelpapst303 am Di 01.04.2008 17:08, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
bluespoon
Threadersteller

Dabei seit: 10.11.2006
Ort: Hannover
Alter: 41
Geschlecht: Männlich
Verfasst Di 01.04.2008 17:12
Titel

Antworten mit Zitat Zum Seitenanfang

Hm, nö. Aber ich probier nachher noch einmal aus.
Sitze hier vor 'nem Mac. Da gibt's ja öfter Probleme
mit CSVs. Das liegt glaube ich an der Zeichenkodierung.

Aber ich poste morgen mal mein Ergebnis.
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
rob

Dabei seit: 11.12.2003
Ort: ~/
Alter: 46
Geschlecht: Männlich
Verfasst Di 01.04.2008 22:34
Titel

Antworten mit Zitat Zum Seitenanfang

Zitat:
wenn du den delimiter ( ::trennzeichen:: ) richtig ersetzt hast

Comma seperated value. Damit ist wohl klar, um welches Trennzeichen es sich handelt...

Zitat:
Das liegt glaube ich an der Zeichenkodierung.

Das denke ich nicht.
Aber eventuell liegt es an dem Zeilentrennzeichen. Während auf Windows \r\n (Carriage Return/Line Feed) zum Einsatz kommt, werden Zeilen auf einem Unix/Linux-System nur durch ein einfaches \n (Line Feed) getrennt.
Auf dem alten MacOS wurden die Zeilen mit \r (Carriage Return) getrennt. Das neue Mac OS (OS X) ist ein POSIX-System. Damit wäre das Zeilentrennzeichen eigentlich ein LF, aber viele Mac-Editoren mit GUI setzen trotzdem ein CR, während CLI-Programme LF nutzen.
Du kannst also nicht ganz sicher sein, welche Zeilenenden zum Einsatz kommen. Das solltest du in deinem Script bedenken. Du könntest mit regulären Ausdrücken arbeiten oder auch mit String-Funktionen. Ich würde auch eher raten, nach den oktalen oder hexadezimalen Werten zu suchen als nach den Strings "\r", "\n", "\r\n".
Wie auch immer: Mit PHP hatte ich öfters schon Probleme mit Files, wo CR als Zeilenende genutzt wurde.

Und in deinem Fall, solltest du dann auch mal einen Blick auf folgende Links werfen:
http://de3.php.net/manual/de/ref.filesystem.php#ini.auto-detect-line-endings
http://prey-on.de/wordpress/2008/03/06/mac-zeilenumbruche-und-php/


Zuletzt bearbeitet von rob am Mi 02.04.2008 00:06, insgesamt 2-mal bearbeitet
  View user's profile Private Nachricht senden
Zeithase

Dabei seit: 09.05.2005
Ort: Erfurt
Alter: 39
Geschlecht: Männlich
Verfasst Di 01.04.2008 23:32
Titel

Antworten mit Zitat Zum Seitenanfang

rob hat geschrieben:
CSV = Comma seperated value. Damit ist wohl klar, um welches Trennzeichen es sich handelt...


Gerade Du solltest wissen, dass das nicht unbedingt immer ein Komma ist. *Huch*
  View user's profile Private Nachricht senden
pixelpapst303

Dabei seit: 06.07.2006
Ort: hamburg
Alter: 50
Geschlecht: Männlich
Verfasst Mi 02.04.2008 08:51
Titel

Antworten mit Zitat Zum Seitenanfang

Zeithase hat geschrieben:
rob hat geschrieben:
CSV = Comma seperated value. Damit ist wohl klar, um welches Trennzeichen es sich handelt...


Gerade Du solltest wissen, dass das nicht unbedingt immer ein Komma ist. *Huch*


genau deswegen habe ich speziell drauf hingewiesen ...
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
 
Ähnliche Themen [PHOTOSHOP CS2] - SPALTE
SQL Error bei ID-Spalte
IF Spalte exists?
Teil aus Spalte holen
[SQL] Wie einzelne Spalte sortieren?
HTML -> Spalte mit fester Breite
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.