phpMyAdmin – Excel-CSV mit Zeilenumbrüchen importieren

Wenn man in Excel eine Tabelle als CSV exportiert, die in den Zellen Zeilenumbrüche enthält, so sind diese Zeilenumbrüche nur als Linefeeds (LF, 0x10) in der CSV enthalten. Die Datensätze (Zeilen) sind mit Windows-üblichen „Carriage Return/Linefeed“ (CRLF, 0x13 0x10) separiert.

Will man eine solche Datei per phpMyAdmin in eine Datenbank importieren, so muss man als Import-Format „CSV using LOAD DATA“ wählen und bei „Zeilen enden auf:“ statt „auto“ \r\n eintragen.

Beim einfachen Format „CSV“ funktioniert dort nur „auto“, welches auch die LFs als Datensatztrenner interpretiert und den Import fehlschlagen lässt.

Hintergrund: Bei „CSV“ wird wohl der phpMyAdmin-interne Parser benutzt, der nichts anderes als „auto“ versteht. Bei „CSV using LOAD DATA“ macht MySQL den Job, phpMyAdmin erzeugt ein SQL-Statement in der Art: LOAD DATA LOCAL INFILE '/tmp/phpFzMK4B' INTO TABLE `stoerChrono` FIELDS TERMINATED BY ';' ENCLOSED BY '\"' ESCAPED BY '\\' LINES TERMINATED BY '\r\n' IGNORE 1 LINES;

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.