2016-07-09 10 views
1

私は4000の列を含むCSVファイルを持っており、Postgresデータベースにインポートする必要があります。私はpgadminIIIを使用しています。 ORACLE SQLには、テーブルを右クリックしてインポートできるオプションがあります。 Postgresに似たような方法がありますか?非常に多くの列を持つテーブルを作成する最も効果的な方法は何ですか?PostgreSQLのcsvからデータをインポート

Update-は、私はそれが働いて得た:

import pandas as pd 
df = pd.read_csv('C:/Users/dbharali0376/Desktop/Merge_N_Reorder/ip_merged_52_final.csv',dtype='unicode') 
df.columns = [c.lower() for c in df.columns] 
from sqlalchemy import create_engine 
engine = create_engine('postgresql://postgres:[email protected]:5432/postgres') 

df.to_sql("trial", engine, if_exists='append',index=False) 

これは、入力CSVファイルから新しいテーブルを作成します。

+0

https://www.postgresql.org/docs/current/static/sql-copy.html –

+1

あなたがオラクルでそれを行うことができますか?私が覚えているように、テーブルには1000個のカラムがあります。しかし、PostgreSQLも "ラバー"ではなく、[カラムの種類に応じて最大カラム数250〜1600](https://www.postgresql.org/about/)の制限があります。 – Abelisto

+0

@Gordon Linoff、COPYのために私はすでにテーブルが存在する必要があります。そこにGUIを介してその多くの列を持つテーブルを作成する方法、または私は各列名を入力する必要があります。 –

答えて

0

この列は何を表していますか?それはタイムスタンプか、リレーショナルデータベースで行として表現される方が良いでしょうか?

私の推測では、何とかそのポストグルが処理できるものにそのCSVを操作しなければならないと思います。

"pgfutter"は、CSVヘッダーに基づいてテーブルを作成し、COPYコマンドを使用してデータをロードするPythonスクリプトです。これはGUIツールではありませんが、使いやすいはずです。 pgAdminでは

0

III

  1. 自分のスキーマ内の表のオプションに移動します。
  2. テーブルの下のテーブルを右クリックし、インポートをクリックします。
  3. crvファイルを参照し、フォーマットをクリックしてcrvを選択します。
  4. は、あなたのインポートをカスタマイズ - エンコーディング/ Delimterなど
+0

すでに作成されているテーブルがある場合にのみ機能します。私は私の質問を更新しました。私はその分裂を見つけた –

関連する問題