web-dev-qa-db-ja.com

Postgresの未終了のCSV引用符付きフィールド

Copyコマンドを使用してテーブルにデータを挿入しようとしています:

copy otype_cstore from '/tmp/otype_fdw.csv' delimiter ';' quote '"' csv;

そして私はこの答えを持っています:

ERROR: unterminated CSV quoted field

CSVファイルに問題のある行があります:

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

これは二重引用符で囲まれた唯一の行であり、削除できません。アドバイスはありますか?

前もって感謝します

8
Alexandre S.

Csvにこのような行がある場合:

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

これは実際には、フィールドが引用符で囲まれていないことを意味/表示します。これは、フィールド内に区切り文字がない限り、完全に有効なcsvです。

この場合、パーサーはフィールドが引用符で囲まれていないことを通知する必要があります。

したがって、quote '"'(実際にパーサーにフィールドが引用されているとエラーが発生する理由を通知している)を使用する代わりに、quote 'none'のようなものを使用するか、quoteパラメーターを省略してください。 (私はPostgresを知らないので、これを行うための正確なオプションを提供することはできません)。

わかりました、パラメータの クイックルックアップ を実行しました。見積もりをオフにするオプションは実際にはないようです。残された唯一のオプションは、データで使用されない引用文字を提供することです。

quote E'\b'(バックスペース) 正常に動作しているようです

9
Danny_ds