Ankündigung

Einklappen
Keine Ankündigung bisher.

CSV Datei parsen

Einklappen

Neue Werbung 2019

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

  • CSV Datei parsen

    Hi,

    ich habe eine CSV-Datei im folgenden Format:

    ID1;TEXT1;TEXT2;NUMMER;DATUM;TEXT3;TEXT4;NUMMER;NU MMER
    ...
    ...
    ID2;TEXT1;TEXT2;NUMMER;DATUM;TEXT3;TEXT4;NUMMER;NU MMER

    Ich habe die Datei vorher mit Excel sortiert, sodass die Liste nach Datum sortiert vorliegt (ältestes zuerst, neueste zuletzt).

    Ich würde nun gerne pro Tag eine Tabelle in PHP ausgeben. Ich weiß nur nicht so recht, wie hierfür der Ansatz lautet, da ja PHP nicht weiß wann ein neuer Tag beginnt. Die Anzahl der Zeilen in der CSV pro Tag sind variabel (können also von 1-30 gehen). Deshalb ist auch eine Variable die ich immer wieder zurücksetze nicht des Rätselslösung.

    Code:
    $row = 1;
    if (($handle = fopen("csv.txt", "r")) !== FALSE) {
        while (($data = fgetcsv($handle, 1000, ";")) !== FALSE) {
            $num = count($data);
    		if ($data[5] == '') {
    			$data[5] = 'None';
    		}
    		echo '<tr> <td>'.$data[3].'</td> <td>'.$data[4].'</td> <td>'.$data[5].'</td> <td>'.$data[6].'</td> </tr> ';
        }
        fclose($handle);
    }
    Hiermit würden aber halt alle Tage aufgelistet. Wie kriege ich diese nun nach Tagen separiert bzw. wie finde ich raus, wann ein neuer Tag beginnt?

  • #2
    Hi,

    wie sieht das Datum aus (Format)? Danach müsstest Du deiner Aussage nach ja sortieren.

    mfg Wolf29
    while (!asleep()) sheep++;

    Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.

    Kommentar


    • #3
      Ups, I'm sorry...

      Datumsformat: MM.TT.YYYY (wobei das schon vorgegeben ist (ich sortiere es vorher in Excel)!)

      Also z.B. 01.07.2011

      Kommentar


      • #4
        Warum speicherst du nicht den letzte Datum zwischen und verlgiechst ob es sich verändert hat. Zum vergleichen von Daten bietet sich DateTime::diff() an, obwohl du das hier wohl nicht brauchen wirst:

        http://au.php.net/manual/en/datetime.diff.php
        Zitat von nikosch
        Naja, anscheinend spricht die Steckdose kein HTTP. LOL

        Kommentar


        • #5
          Hallo Suralc,

          das dachte ich mir auch. Aber ich hänge ja in einer Schleife folglich würde die "alte" Zeit doch einfach mit der neuen überschrieben und ich könnte nichts mehr vergleichen bzw. das Ergebnis wäre immer true?

          Kommentar


          • #6
            PHP.de Wiki | Gruppenbruch
            [COLOR="#F5F5FF"]--[/COLOR]
            [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
            „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
            [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
            [COLOR="#F5F5FF"]
            --[/COLOR]

            Kommentar

            Lädt...
            X