CSV Übertragen PHP
Otto Normalverbraucher
- php
Hallo,
ich übertrage eine CSV Datei, erstellt aus einer mysql Datenbank.
Wie maskiere ich Zeilenumbrüche aus Textfeldern der Datenbank so, dass sie nicht als Zeilenende der CSV Datei gelten. Aber in der Zieldatenbank wieder vorhanden sind?
Danke
Otto
Hallo Otto,
ich übertrage eine CSV Datei, erstellt aus einer mysql Datenbank.
die schlechte Nachricht: CSV ist ein sehr vage spezifiziertes Format mit sehr viel Freiräumen für individuelle Interpretation.
Wie maskiere ich Zeilenumbrüche aus Textfeldern der Datenbank so, dass sie nicht als Zeilenende der CSV Datei gelten. Aber in der Zieldatenbank wieder vorhanden sind?
Regel Nummer 1: Setze alle Strings in Anführungszeichen. Dann kann die Software, die die CSV-Datei entgegennimmt, anhand der nicht geschlossenen Anführungszeichen erkennen, dass der Datensatz da noch nicht zu Ende sein dürfte, der Zeilenumbruch also Teil des Datenfeldes sein muss.
Regel Nummer 2: Viele Programme verstehen Steuerzeichen in C-Syntax. Vielleicht hast du also Glück, und die empfangende Software interpretiert \n innerhalb eines Strings als Zeilenumbruch.
Ansonsten: Viel ausprobieren, oder die Dokumentation der Software konsultieren, die die CSV-Daten verarbeitet. Vielleicht ist das irgendwo beschrieben.
Einen schönen Tag noch
Martin
Hallo Der,
In Massachusetts gilt heute noch per Gesetz, dass man nicht zu Bett gehen darf, ohne vorher zu baden.
Außerdem verbietet ein anderes Gesetz das Baden am Sonntag.
Darf man also in der Nacht von Sonntag auf Montag nicht ins Bett?
Oder jemand in Massachusetts hat Nomic gespielt und gewonnen.
Rolf
Es ist einfacher und zielführender statt des museumsreifen und schlecht definierten CSV das moderne und von vielen Programmiersprachen und Datenbanken unterstützte JSON zu benutzen.
Dieses löst neben dem Deinem mit den Zeilenumbrüchen auch viele weitere Probleme.
Schön, aber leider verstehen Wirtschaftsprogramme oft nur CSV.
Schon Pippi Langstrumpf musste feststellen, dass "ich mache mir die Welt wie sie mir gefällt" nicht funktioniert.
:)
Gruß Otto
Am Rande - Ein Verwander verdient viel Gelt damit, dass er noch Cobol beherscht.
Nichts lebt länger als Totgesagte.
Hallo Otto,
COBOL unser,
Das Du bist im Speicher,
Codiert werde Dein Filler,
Deine Program Division komme,
Dein Statement geschehe,
Wie auf Band,
So auch auf Magnetplatten.
Unser täglich Output gib uns heute,
Und vergib uns unsere Errors,
Wie auch wir vergeben unseren Technikern,
Und verführe uns nicht zu Spaghetticode,
sondern erlöse uns vom Assembler,
Denn Dein ist das Band,
Die Platte und die Zentraleinheit,
In Ewigkeit,
STOP RUN.
Rolf
Schön, aber leider verstehen Wirtschaftsprogramme oft nur CSV.
Naja. Dann schau halt im Manual des "Wirtschaftsprogrammes" nach, welche Definition/Auslegung von CSV selbiges erwartet.
Hallo,
Schön, aber leider verstehen Wirtschaftsprogramme oft nur CSV.
Naja. Dann schau halt im Manual des "Wirtschaftsprogrammes" nach, welche Definition/Auslegung von CSV selbiges erwartet.
genau, das habe ich ja auch schon vorgeschlagen. Und wenn der Otto Pech hat, stellt er dann fest: Zeilenumbrüche innerhalb der Datenfelder? Das kann das Programm nicht.
Einen schönen Tag noch
Martin
Hallo
Schön, aber leider verstehen Wirtschaftsprogramme oft nur CSV.
Naja. Dann schau halt im Manual des "Wirtschaftsprogrammes" nach, welche Definition/Auslegung von CSV selbiges erwartet.
genau, das habe ich ja auch schon vorgeschlagen. Und wenn der Otto Pech hat, stellt er dann fest: Zeilenumbrüche innerhalb der Datenfelder? Das kann das Programm nicht.
So what? Wenn das Programm eine Eingabe ohne Umbrüche innerhalb der Datensätze erwartet, dann muss man eben genau das anliefern. Wenn man dieses Programm benutzt/benutzen muss, dann muss man sich eben an die Restriktionen des Programms halten. 🤷♂️
Wer das nicht will, muss ein anderes Programm benutzen.
Tschö, Auge