バルクロードメソッドCOPY
コマンドを使用して、CSVファイルをPostgreSQLテーブルにロードしています。いくつかのフィールドには( "|"、 ""、 ";"などのように)悪い文字がありますので、読み込み中に別のエラーが発生します。タブ区切り、コンマ区切り、他あまりにオプション、が、運。PostgreSQLへのロード中にCSVデータをフィルタリングまたはクリーンアップ
私はCOPY
コマンドを使用してのPostgreSQLにそれをロードする前に、CSVデータをきれいにすることができますか何かのデフォルトに不正な文字を置き換えることができます任意のCOPY
コマンドの構文がある方法はありますか?
これらは私がしようとしている構文の一部です:事前に
COPY tblsf FROM '/filelocation/test.csv' WITH CSV HEADER DELIMITER ',' NULL '?';
COPY tblsf FROM '/filelocation/test.csv' WITH CSV HEADER DELIMITER '|' NULL '?';
COPY tblsf FROM '/filelocation/test.csv' WITH CSV HEADER DELIMITER E'\t' NULL '?';
COPY tblsf FROM '/filelocation/test.csv' WITH CSV HEADER DELIMITER '<>' NULL '?';
おかげ
あなたのファイルがMAL-形成されている場合、あなたは基本的に2つのオプションがあります。 (a)PostgreSQLに 'COPY 'しようとする前に準備してください。 (b)レコードを1列のテーブルに 'COPY'し、PostgreSQL内のデータを 'クリーンアップ'します。 – Nicarus
@Nicarus別の2つのオプションがあります:(c) 'copy'コマンドの' copy ... 'コマンドを使用します(v 9.3以降)。 (d)ファイルのプロバイダに、CSV標準に対応する形式を修正するよう依頼する。 – Abelisto
@Abelisto - PostgreSQL内またはその外側で "クリーン"されています。 :-) – Nicarus