2017-02-07 9 views
-3

insertコマンドや一括挿入コマンドを使用する予定ですが、コピーコマンドではありません。助けてください!コピーコマンドを使用せずにcsvファイルをpostgresqlテーブルにインポートする方法

+1

なぜコピーコマンドを使用したくないのですか?それは学校の宿題ですか? –

+0

nope mate。ちょうど方法があるかどうか尋ねる。 ヘルプが必要な場合は、そのままにしてください。 @ TommasoDiBucchianico –

+0

あなたはcsvを変更して挿入リストにすることができます。 csv - "import"をしたいのなら、コピーは意味があります。 –

答えて

1

あなたはそうruby'ish方法が可能性があり、rubyであなたの質問にタグ付け:

を使用すると、列のタイトルをキーとして使用されたハッシュに各行を解析することができますsmarter_csv宝石(https://github.com/tilo/smarter_csv)をインストールします。

inserts = SmarterCSV.process('/path/to/file.csv') 
# [ 
# { col_name: "value from row 1", ... }, 
# { col_name: "value from row 2", ... } 
# ] 

次に、好きなORMまたはデータベースコネクタを使用してください。 ActiveRecord

MyModel.insert(inserts) 
+1

組み込みCSVクラスは、 'headers :: first_row'オプションと返された行オブジェクトに対して' to_hash'オプションを使用することで同じことができます。 –

+0

ありがとう@theTinMan私はそれを知らなかった。 – Philipp

関連する問題