Page 1 of 1

Import einer CSV Datei in MySQL

Posted: 10. Dec 2008 10:44
by r.b.
Hallo zusammen,

wir möchten gerne eine CSV-Datei in eine MySQL Datenbank/Tabelle importieren.
Die Tabelle und die CSV-Datei haben 20 Spalten bzw. Felder. Der Text ist in Hochkommatas und die Felder sind mit Semikolons getrennt.

Das Problem:

Die Datensätze in der CSV-Datei sind nicht in einer Zeile. Wenn ich also die CSV-Datei mit z.B. mit phpmyadmin importiere, dann folgt die Fehlermeldung über eine ungültige Anzahl von Feldern.

Der Import soll später scriptgesteuert funktionieren.

Wie sollen wir am Besten vorgehen? Die Datei mit php zerlegen und dann zusammensetzen/importieren?

Oder kann ich mysql dazu bewegen die Daten zu importieren?

Vielen Dank für eure Hilfe im Voraus

Posted: 10. Dec 2008 19:23
by Janka
Wenn die Datensätze nicht jeweils in einer einzigen Zeile sind, ist das keine vernünftig importierbare Datei. Ist der Grund, dass CR/LF-Zeichen in den Feldern vorhanden sind?

Zeig mal bitte eine Beispieldatei. Ein paar Zeilen reichen.

Janka

Posted: 13. Dec 2008 7:52
by r.b.
Die Daten werden wohl aus einer Access-Datenbank exportiert.

Folgendermaßen kann man das nachvollziehen:

a) Texteditor (kwrite)
b) einige Zeilen einfügen
c) openoffice calc starten
d) Zelle bearbeiten und über kopieren + einfügen die Daten der Textdatei einfügen
e) Tabelle als CSV exportieren

Wenn man sich jetzt die CSV-Datei anschaut, dann erscheinen die Daten aus b) untereinander.

Bei meiner CSV-Datei handelt es sich um 4 oder 5 Felder pro Datensatz.

Posted: 13. Dec 2008 10:40
by Janka
r.b. wrote: Wenn man sich jetzt die CSV-Datei anschaut, dann erscheinen die Daten aus b) untereinander.
Hier nicht. Ooo.org 2.4.0.14.

Da die zu importierenden Daten auf MS-Windows erzeugt werden, enthalten sie vermutlich CR-LF als Zeilentrenner, wo Unix nur LF erwartet. Wandel das mit "dos2unix" zuvor um.

Janka