Text-Datei als DB
Trottel
- php
moin
hab ne csv datei, bei der die einzelnen spalten durch [Tab]s getrennt sind.
gibts nun einigermaßen einfache methoden, womit ich die zellen-inhalte in nen array laden kann?
danke
Hi!
hab ne csv datei, bei der die einzelnen spalten durch [Tab]s getrennt sind.
gibts nun einigermaßen einfache methoden, womit ich die zellen-inhalte in nen array laden kann?
<?php
$array = array();
foreach( file( 'datei.csv') as $line) {
$array[] = explode ( "\t", trim( $line));
}
?>
oder
<?php
$array = array();
$handle = fopen ( 'datei.csv', 'r');
while ($line = fgetcsv ( $handle, 1024, "\t")) {
$array[] = $line;
}
fclose ($handle);
?>
Wenn Du Dir über die Länge der Zeilen sicher sein kannst würde ich die fgetcsv-Methode verwenden, ist sicher schneller. Du solltest den Wert für die Zeilenlänge so klein wie möglich wählen, aber dabei aufpassen dass Du nicht aus Versehen Zeilen abschneidest.
Grüße
Andreas
Hiho,
hat jetzt nichts genau mit deiner Frage zu tun, aber ist mir gerade so aufgefallen. Steht csv nicht für "comma seperated values"? Dann müssten doch streng genommen die einzelnen Spalten durch kommata gestrennt werden, wenn man die Datei als csv bezeichnen will, oder?
Marc
Hallo,
hat jetzt nichts genau mit deiner Frage zu tun, aber ist mir gerade so aufgefallen. Steht csv nicht für "comma seperated values"? Dann müssten doch streng genommen die einzelnen Spalten durch kommata gestrennt werden, wenn man die Datei als csv bezeichnen will, oder?
"CSV" ist der Oberbegriff fuer diese Art der Datenspeicherung.
Welches Trennzeichen man verwendet, ist sekundaer.
(Das Trennzeichen selbst darf natuerlich dann nicht
innerhalb eines Eintrags vorkommen, bzw. es muss
dort dann speziell "verschluesselt" werden, sogenanntes
"Escapen").
Manche Leute behaupten auch, es heisse eigentlich
"Colon Separated Values".
Mit "Colon" ist hier nicht der Dickdarm, sondern
unser "Semikolon", Strichpunkt (";") gemeint...
Gruesse,
Thomas
Sorry, kleiner Nachtrag:
Mit "Colon" ist hier nicht der Dickdarm, sondern
unser "Semikolon", Strichpunkt (";") gemeint...
Sorry, hatte da etwas falsch im Kopf.
Nach dem "Oxford Advanced Learner's Dictionary
of Current English" ist "colon" der Doppelpunkt ":".
Der Strichpunkt ";" heisst auch dort "semicolon".
Gruesse,
Thomas