PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

nicht beendetes CSV-Feld in Anführungszeichen in Postgres

Wenn Sie Zeilen wie diese in Ihrer CSV-Datei haben:

533696;PoG;-251658240;from id GSW C";

dies bedeutet eigentlich/zeigt, dass die Felder nicht in Anführungszeichen stehen, was immer noch eine vollkommen gültige CSV-Datei ist, solange es keine Trennzeichen in den Feldern gibt.

In diesem Fall sollte dem Parser mitgeteilt werden, dass die Felder nicht in Anführungszeichen stehen.

Anstatt also quote '"' zu verwenden (was dem Parser eigentlich sagt, dass die Felder sind zitiert und warum Sie den Fehler erhalten), sollten Sie so etwas wie quote 'none' verwenden , oder lassen Sie den Zitatparameter weg (ich kenne Postgres nicht, daher kann ich Ihnen nicht die genaue Option dafür geben).

Ok, ich habe schnell nachgeschlagen der Parameter. Es sieht so aus, als gäbe es nicht wirklich eine Option zum Deaktivieren von Zitaten. Die einzige verbleibende Option wäre, ein Anführungszeichen bereitzustellen, das in den Daten nie verwendet wird.

quote E'\b' (Rücktaste) scheint gut zu funktionieren .