verflixte CSV

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

  • verflixte CSV

    erst einmal...Guten Morgen !

    da will ich mich grad ganz frisch dransetzen für einen freund nen script zu erstellen, dass ihm seinen daten aus einer CSV Datei in MySQL überträgt, was ich ja nun bereits schon enige mal realisiert habe, aber dieser fall ist ein wenig anders... zumindest so, dass ich nicht weiß, wie ich das umsetzen kann und hoffe dass mir jemand von euch den richtigen tip geben kann !?

    Diese CSV Datei beginnt wie die meisten...in der ersten Zeile stehen die Feldnamen und ab da an die Daten.. wie gewöhnlich...
    dann jedoch, nach einer nicht festen anzahl von Zeilen, wiederholt sich die Feldnamen-zeile und genau das ist mein Problem, auf welchem Weg kann ich solch eine Feldnamen-Zeile ermitteln und überspringen bzw auslassen?

    für tips oder kniffe wäre ich dankbar!
    gruss
    ways
    Coder never die, they just GOSUB without RETURN

    Mein System

  • #2
    Jemand mit halbwegs PHP Kenntnissen, würde da evtl ein Script drüber scheuchen.
    Wir werden alle sterben

    Kommentar


    • #3
      Mittels file_get_contents einlesen.. array_unique drüber bügeln.. file_put_contents zurück. Fertig.
      gruss Chris

      [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

      Kommentar


      • #4
        Zitat von combie Beitrag anzeigen
        Jemand mit halbwegs PHP Kenntnissen, würde da evtl ein Script drüber scheuchen.
        Tja, wären die Feldnamen immer gleich oder gleicher anzahl hätte ich das sicher auch mit meinen bisherigen kenntnissen geschafft.

        Vielen dank für die freundliche Unterstützung. Manchmal ist weniger mehr !
        Coder never die, they just GOSUB without RETURN

        Mein System

        Kommentar


        • #5
          Tja, wären die Feldnamen immer gleich oder gleicher anzahl hätte ich das sicher auch mit meinen bisherigen kenntnissen geschafft.
          1. Woher soll ich die Struktur deiner Daten kennen?
          2. Unterschiedliche Feldnamen in einer CSV Datei? Das geht nicht.
          Wir werden alle sterben

          Kommentar


          • #6
            1. Das stimmt, ich kann die leider auch nicht darstellen ohne von euch erschlagen zu werden, der grund dafür ist die Menge... nicht die Daten selbst.


            2. Ein wenig rätselhaft von mir formuliert, das kann gut sein...

            es ist so: diese CSV Datei enthält max 260 feldnamen.. diese Feldnamen haben auch eine feste Bezeichnung., jedoch werden immer nur die feldnamen in der CSV angelegt, die auch Daten enthalten. Die Anzahl der Feldnamen kann also variieren. Die DB-Tabelle hat natürlich alle 260 Feldnamen drin, nun muss ich es schaffen, anhand der CSV-Datei die aktuell verwendeten Feldnamen zu ermitteln und die werte darin in die Datenbank zu schreiben. Für mich ein wenig kniffelig...aber interessant.

            wer interesse hat, dem schick ich solch eine massive CSV auch gern per email zu.
            Coder never die, they just GOSUB without RETURN

            Mein System

            Kommentar


            • #7
              also die Anzahl der Feldnamen bleibt solange gleich, bis ich zusätzliche Feldnamen anfordere ( messewerte ), das hab ich grad klären können..., ansonsten hab ich gar keinen einfluss auf das generieren der CSV. Das wiederholen der Feldnamen innerhalb der CSV bleibt einem Muster treu... also das wechselt nicht, demnach kann ich wohl alle Feldnamen als ganzen String verwenden um diesen dann aus der CSV zu löschen...bzw zu überspringen.

              ich muss da jedenfalls ne kluge lösung bringen, da die CSV ca 10MB hat...
              ungefähr ( 1350 zeilen a 260 Spalten, davon sind 255 Spalten reine INTs)
              das einlesen passiert auch noch alle 6 std...

              hier wäre ein Hinweis der MySQL Profis gewünscht, bis zur welchen größe die Geschwindigkeit nicht leidet? Zum Abruf der daten wird eigentlich auch nur der aktuellste Datenpaket benötigt, max die letzen beiden. Also 2700 Zeilen a 260 Felder... die INTs haben eigentlich nicht mehr als 4 Zeichen (unsigned)

              ich hab ja schon was ähnliches gemacht... aber da waren es nie soviele Daten....hab daher auch leider keine Erfahrung
              Coder never die, they just GOSUB without RETURN

              Mein System

              Kommentar


              • #8
                ich glaube mit dem LOAD DATA kenn ich mich zuwenig aus,
                ich erhalte da zwar einträge, aber keinen der mir nen weg aufzeigt

                ich probiers weiter
                Coder never die, they just GOSUB without RETURN

                Mein System

                Kommentar


                • #9
                  also ich schaffe es schon die CSV 1 zu1 so in mysql einzufügen..
                  aber ich hab bei meinem provider keinen zugriff auf data verzeichnis meines mysqls

                  und wie ich die feldnameneintröge so filtere is mir auch noch nicht ganz klar
                  Coder never die, they just GOSUB without RETURN

                  Mein System

                  Kommentar

                  Lädt...
                  X