CSV-Datei auslesen

Ilse Müller

Grünschnabel
Hallo,
ich versuche schon den halben Nachmittag (ehrlich verzweifelt!) meine vorhandene CSV-Datei auf einer Internetseite auszugeben.
Es handelt sich um Zeile A, B, C, im OpenOffice über Simikolon getrennt.
Jetzt hätte ich lediglich gern die Ausgabe

<table>
<tr><td>Zeile A</td>
<td>Zeile B</td>
<td>Zeile C</td>
</tr></table>

Also eigentlich - so dachte ich - nichts kompliziertes.
Aber für einen blutigen Anfänger wie mich scheinbar unmöglich :-(

Würde sich jemand erbarmen und mir Hilfestellung leisten?

Herzlichen Dank im voraus.

Gruß
Petra
 
Danke für den Tipp!
Ich habe mich dazu entschieden diese Lösung zu probieren:

[ schnipp schnapp ]
//Define what you want the seperator to be, this could be new line, (\n) a tab (\t) or any other char, for obvious reasons avoid using chars that will be present in the string. Id suggest a comma, or semicolon.
$sep = ",";

//define file to read
$file = "ergebnisse.txt";

//read the file into an array
$lines = file($file);

//count the array
$numlines = count($lines);

//explode the first (0) line which will be the header line
$headers = explode($sep, $lines[0]);

//count the number of headers
$numheaders = count($headers);

$i = 0;

//start formatting output
echo "<table border = 1 cellpadding = 2><tr>";

//loop through the headers outputting them into their own <TD> cells
while($i<$numheaders){
$headers = str_replace("\"", "", $headers);
echo "<td>".$headers[$i]."</td>";
$i++;
}

echo "</tr>";

$y = 1;

//Output the data, looping through the number of lines of data and also
//looping through the number of cells in each line, as this is a dynamic
//number the header length has to be reread.
while($y<$numlines){
$x=0;
echo "<TR>";
while($x<$numheaders){
$fields = explode($sep, $lines[$y]);
$fields = str_replace("\"", "", $fields);
echo "<TD>&nbsp;".$fields[$x]." </TD>";
$x++;
}
$y++;
echo "</TR>";
}

//close the table.
echo "</table>";


[ /schnipp schnapp ]

Ein bisserl problematisch gestaltet sich nun aber
a.) Das meine letzte Zelle aus einer Zahl mit bis zu 4 Stellen hinter dem Komma besteht und in der Ausgabe aufgerundet wird und
b.) Die komplette Zeile mit den Inhalten A, B, C, etc. in einer Reihe hintereinander ausgegeben wird. Wie kann ich die Inhalte A, B, C, in einer Tabelle ausgeben lassen, die es "formschöner/ übersichtlicher" erscheinen lässt

Beispiel
<table>
<tr><td>Inhalt A. A</td>
<td>Inhalt A.B</td>
<td>Inhalt A.C</td>
<tr>
<tr><td>Inhalt B.A</td>
<td>Inhalt B.B</td>
<td>Inhalt B.C</td>
<tr>
... </table>

:-(
 
Zurück