2016-03-23 38 views
0

"name:email"という形式の巨大なテキストファイルがあります。 名前と電子メールの列を持つテーブルも作成しました。ubuntuのPostgresにテキストファイルをインポートしますか?

テキストファイルをテーブルにアップロードするにはどうすればよいですか?

テキストファイルには、私のUbuntuのサーバー上にある、と私は私のデータベースにテキストファイルをインポートするために、次は何をしますかコマンドに

sudo -u postgres psql 
\connect <username>" 

を使用してpsqlへの接続がありますか?

答えて

0

psql\COPYコマンド

Copyはあなたにとあなたの データベース内のテーブルのうち、コピーデータを行うことができます持っています。いくつかのモードを含む、それをサポートしています。

  • バイナリ
  • タブが
  • CSVはあなたが必要なもの

を区切り区切りです:

\COPY tablename(name,email) FROM '/path/to/file' DELIMITER ':' CSV 

エラーERROR: missing data for column "name"を取得した場合は、つまり、ファイルの最後に空の行があることを意味します。それを除く。

+0

名前のついた行がある場合:fwef:[email protected]?メールには「:」という文字列があります。 – Anh

+0

@Anh次に、テキストファイルをCSV準拠の形式に変換する必要があります。 'sed -E 's/:(.*)$/:" \ 1 "/'/path/to/file>/path/to/file_converted'は' email'カラムを引用符で囲みます。列。 – AlexM

+0

次に、引用符をつけたときにデータベースにインポートするにはどうすればいいですか?また私は、私のtxtには、それぞれの行のそれぞれに '^ M'があることに気付きます。たとえば、名前:email^M – Anh

関連する問題