Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Kaputte CSV-Datei, wie kann ich sie beheben?

Sie können in der Lage sein, es auszutricksen und einen regulären Ausdruck zu verwenden, um nach Folgendem zu suchen:

"(.*?)"(?=,|$)

Aber das ist eine Art Hack-ish (akzeptieren Sie im Grunde nur ein End-Quote, wenn unmittelbar darauf ein Komma oder ein Zeilenende folgt). Dieselbe Logik würde für ein Suchen-Ersetzen gelten. (Auch hier wird davon ausgegangen, dass ein "streunendes" Zitat niemals den Standard-CSV-Regeln folgt (z. B. ein Komma/eine Zeile [Anfang/Ende] davor oder danach))

Ich nehme an, Sie haben keine Kontrolle über die Originaldaten und müssen mit dem arbeiten, was Sie haben?

BEARBEITEN

Obwohl ich das nur an einem kleinen ausprobiert habe Beispiel Ihrer Daten, dies scheint die "streunenden" Anführungszeichen zu finden, für die Sie ein Ersetzen mit "" verwenden können auf:

(?<!^|"|,)"(?!"|,|$)