PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

campo tra virgolette CSV non terminato in Postgres

Se hai righe come questa nel tuo csv:

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

questo in realtà significa/mostra che i campi non sono tra virgolette, il che è ancora perfettamente valido csv purché non ci siano separatori all'interno dei campi.

In questo caso al parser dovrebbe essere detto che i campi non sono tra virgolette.

Quindi, invece di usare quote '"' (che in realtà sta dicendo al parser che i campi sono citato e perché viene visualizzato l'errore), dovresti usare qualcosa come quote 'none' o lascia fuori il parametro quote (non conosco Postgres, quindi non posso darti l'opzione esatta per farlo).

Ok, ho eseguito una ricerca rapida dei parametri. Sembra che non ci sia davvero un'opzione per disattivare le citazioni. L'unica opzione rimasta sarebbe quella di fornire un carattere di virgoletta che non viene mai utilizzato nei dati.

quote E'\b' (backspace) sembra funzionare bene .