csv file mit fputs erstellen : Problem

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

  • csv file mit fputs erstellen : Problem

    Guten abend

    hab schon wieder ein problem und hoffe, dass mir jemand helfen kann ...

    und zwar lass ich csv.dateien generieren, die daten dazu kommen aus einem db-query....

    problem ist nur, DAS KOMMA, das die datensätze trennen soll...
    leider kommen innerhalb der spaltenwerte(texte) auch kommas vor, dadurch wird natürlich ein fehler verursacht...

    kann ich das irgendwie umgehen ?

  • #2
    Die saubere Lösung: Feldwerte durch ein " oder ' einschließen (und in den Daten eventuell vorkommende Anführungszeichen entsprechend escapen, also " durch \" bzw. ' durch \' ersetzen, damit die Verarbeitung nicht abbricht). So macht man es bei CSV-Daten normalerweise.

    Die unsaubere, schnelle Lösung: In den Daten vorkommende Kommata mit str_replace() durch was anderes, eindeutiges ersetzen (etwa #°#) und dann im Zielprogramm (z.B. Excel) mit "Suchen / Ersetzen" zurückverwandeln.

    Kommentar


    • #3
      jepp,

      hab ich auch schon mal mit improvisiert. klappt auch gut, nur hatteich Probleme mit dem # Zeichen. Das * Zeichen klappte bei mir besser, muss irgendwie damit zusammenhängen, dass das ganze noch PHP Code durchlaufen muss, weiß es aber auch nicht genau. (CSV File im Unix Linebreak, MAC OS Roman Format)


      LG, C8n8b1s

      Kommentar


      • #4
        Original geschrieben von pekka
        Die saubere Lösung: Feldwerte durch ein " oder ' einschließen (und in den Daten eventuell vorkommende Anführungszeichen entsprechend escapen, also " durch \" bzw. ' durch \' ersetzen, damit die Verarbeitung nicht abbricht). So macht man es bei CSV-Daten normalerweise.
        genau so, hatt ich mir das ja eigentlich gedacht, hab nicht damit gerechnet, das sich tagelang dran sitze

        aber wenn ich das mit den anführungszeichen mache, dann passieren die fehler auch ...

        dann sagte mir jemand, ich soll ein anderes trennzeichen verwenden, z.B das Semikolon....hab ich gemacht, datensätze wurden schön getrennt usw, aber wenn ich das CSV mit exel öffne, dann erkennt er das semikolon nicht als trennzeichen an...so glaube ich zumindest...
        ist mein exel eifnach nur zu alt ? officve97


        PHP-Code:
        fputs ($fp3"".$row_fputs3[cat].";".$row_fputs3[active].";\n"); 
        im texteditor sieht das ergebnis so aus(richtig) :

        1;1001;
        2;1002;

        aber in meinem exel werden alle datensätze in einer spalte angezeigt, statt jeder wert in seiner eigenen spalte...
        Zuletzt geändert von bärlina; 08.11.2005, 12:40.

        Kommentar


        • #5
          also bei mir funzt das einwandfrei (office xp). mach mal spaßeshalber aus dem \n ein \r\n

          peter
          Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
          Meine Seite

          Kommentar


          • #6
            Original geschrieben von Kropff
            also bei mir funzt das einwandfrei (office xp). mach mal spaßeshalber aus dem \n ein \r\n

            peter
            das zeilenweise eintragen funktioniert ja einwandfrei, am zeilenumbruch liegts nicht....

            hab mir ja ne orginak exel erzuegte csv angeschaut.

            Dann werd ich mir wohl mal exel für xp besorgen,
            nachher läuft schon alles, und es liegt nur an meiner alten version
            Zuletzt geändert von bärlina; 08.11.2005, 14:04.

            Kommentar


            • #7
              kann mich da noch schwach an etwas erinnern. bei alten excel-versionen mußte man beim öffnen dezidiert csv als dateityp auswählen. bei einem schnöden doppelklick auf die csv-datei funktionierte das nicht richtig.

              peter
              Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
              Meine Seite

              Kommentar


              • #8
                okay, ist das jetzt lustig oder traurig, dass ich 2 tage umsonst gesessen habe

                DENN :

                du hast recht, durch doppelklick gehts nicht, aber wenn ich die datei direkt über exel öffne schon....

                also funze das einache script schon die ganze zeit
                verdammt unangenehm

                aber die erlösung macht es erträglich

                VIELEN DANK !

                und wo es schon so gut läuft

                ist das einlesen und dann zurückeintragen in die DB auch so easy ?

                Kommentar


                • #9
                  st das einlesen und dann zurückeintragen in die DB auch so easy ?
                  ja

                  peter
                  Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                  Meine Seite

                  Kommentar

                  Lädt...
                  X