Auge: Import von fehlerhafter csv-Datei

Beitrag lesen

Hallo

Wie gehe ich denn damit beim Import um?
Bisher habe ich immer radikal alle Anführungszeichen aus csv-Dateien heraus gelassen. Wenn nun aber teilweise welche drinne sind, muss ich das dann berücksichtigen oder macht mysqli_real_escape_string diesen Job mit?

Wenn der Import der Daten in das PHP-Skript ordentlich eingelesen wurde und dabei (ebenfalls) ordentlich Anführungszeichen als Feldbegrenzer von Anführungszeichen als Datenbestandteil unterschieden wurde, gibt es jene als Feldbegrenzer nicht mehr. Dann hast du nur noch einen String mit seinem Inhalt, der von mysqli_real_escape_string für MySQL passend behandelt wird.

Dazu ist es natürlich notwendig, dass beim erstellen der Datendatei beziehungsweise des CSV-Blobs die Anführungszeichen als Datenbestandteil maskiert wurden (zum Beispiel maskiert mit vorangestelltem weiteren Anführungszeichen ("") oder mit vorangestelltem Backslash (\")). Zumindest das sollte man den Tabellenkalkulationsprogrammen bei Strings zutrauen dürfen, auch wenn sie bei ihren automatischen Datenformaterkennungen allzu gern auch mal daneben liegen.

Tschö, Auge

--
200 ist das neue 35.