Daten aus Excel csv parsen, aber wie???

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Daten aus Excel csv parsen, aber wie???

    hallo, ich will in php einen parser bauen, der aus einer csv-Datei die Daten extrahiert.
    Ich weiß, dass in einer csv Datei die Spalten durch Semikolons getrennt und Zeilen durch /n

    Eine Zeile sieht ungefähr wie folgt aus:


    Hans; Wurst; 19755; 15664789; 20; 15; 54; 2.5 /n

    am besten wäre es wohl wenn man die Datei lokal in ein Webformular hineinlädt und Sie parsen lässt.

    Die Länge der characters spielt momentan keine Rolle.
    Wie schaffe ich es, dass der Parser Zeile für Zeile durch die gesamte csv-Datei hindurchparst?
    Außerdem würde ich gerne die einzelnen Spalten je Zeile unter einer Variablen abspeichern, um Sie später evt. in einer Datenbank zu persistieren.

    Ich bin eigentlich ein php-Neuling, und dies ist mein erster Eintrag im Php-Resource Forum.
    Ich danke euch im Voraus!

    Gruß

    L.

  • #2
    zuerst mußt du die Datei hochladen, dabei wird dir http://www.php.net/manual/en/features.file-upload.php helfen

    dann per file die Datei zeilenweise in ein Array ablegen

    mit explode kannst du dann die Zeilen nochmals spaltenweise in Array ablegen.

    Das Ganze geeignet ausgeben.

    btw: moved2php-forum

    Kommentar


    • #3
      grundlagen gibts zB bei schattenbaum.net, php-faq.de. interessant ist dann noch das http://www.php.net/manual/de/index.php.

      vertiefe dich für den anfang in
      - datei-funktionen (fopen(), file(), fgetcsv()...)
      - array-funktionen

      alles weitere wird dann schon

      *verschieb
      Kissolino.com

      Kommentar


      • #4
        hab sowas ähnliches neulich mal gebastelt, damit dürftest du was anfangen können...





        upload.php

        PHP-Code:
        <form action=auswerten.php enctype=multipart/form-data method=post">
                            <input type="
        file" name="file">
                            <br>
                            <br>
                            <input type="
        submit" name="Submit" value="Abschicken">
                              </form> 
        auswerten.php

        PHP-Code:
        $datei=fopen($file,"rb");
        $daten=fread($datei,filesize($file));
        fclose($datei);

        $datensaetze=explode("\n",$daten);
        for(
        $i=0;$i<sizeof($datensaetze);$i++) 
            {
             
        $datenfeld[$i]=explode(";",$datensaetze[$i]);
        // Ab hier werden die *.csv Daten ausgegeben.
        // Also hier speichern oder ähnliches! variable ist $datenfeld[$i][$nummer] beginnend bei 0
        // Hast du 15 Spalten in der csv, ist also bei $datenfeld[$i][14] ende

        echo "$datenfeld[$i][0]"// hier wird der erste wert ausgegeben
        echo "$datenfeld[$i][1]"// hier wird der zweite wert ausgegeben u.s.w.


        ungetestet, da ich nich den ganzen code reintun wollte, sollte aber laufen.

        Kommentar

        Lädt...
        X