PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

champ entre guillemets CSV non terminé dans Postgres

Si vous avez des lignes comme celle-ci dans votre csv :

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

cela signifie en fait/montre que les champs ne sont pas entre guillemets, ce qui est toujours un csv parfaitement valide tant qu'il n'y a pas de séparateurs à l'intérieur des champs.

Dans ce cas, l'analyseur doit être informé que les champs ne sont pas entre guillemets.

Ainsi, au lieu d'utiliser quote '"' (qui indique en fait à l'analyseur les champs sont entre guillemets et pourquoi vous obtenez l'erreur), vous devriez utiliser quelque chose comme quote 'none' , ou omettez le paramètre quote (je ne connais pas Postgres, donc je ne peux pas vous donner l'option exacte pour le faire).

Ok, j'ai fait une recherche rapide des paramètres. Il semble qu'il n'y ait pas vraiment d'option pour désactiver les citations. La seule option restante serait de fournir un guillemet qui n'est jamais utilisé dans les données.

quote E'\b' (retour arrière) semble fonctionner correctement .