Pandas から
コネクタと組み合わせることで、Pandas を使用してEnterpriseDB データを含むデータフレームを生成できます。作成したデーフレームは、他のさまざまなpython パッケージに渡すことができます。
接続
Pandas を使用するには、事前にインポートする必要があります。Pandas は、以下のように、クエリ実行時にSQLAlchemy エンジンにも依存します。
import pandas as pd from sqlalchemy import create_engine engine = create_engine("cdata_enterprisedb:///?User=postgres;Password=admin;Database=postgres;Server=127.0.0.1;Port=5444")
データのクエリ
SELECT クエリは、関連する接続オブジェクトとともに、Pandas の"read_sql()" メソッド呼び出しで提供されます。Pandas はその接続上でクエリを実行し、さまざまな目的で使用されるデーフレームの形式で結果を返します。
df = pd.read_sql(""" SELECT ShipName, ShipCity, $exNumericCol; FROM "postgres"."public".Orders;""", engine) print(df)
データの編集
新しいレコードをテーブルに挿入するには、新しいデータフレームを作成し、それに応じてフィールドを定義するだけです。そこから先は、以下の例のようにデータフレームで"to_sql()" を呼び出すだけで、コネクタでINSERT 操作を実行できます。"if _exists" 引数は、Pandas がテーブルをゼロから構築しようとするのを防ぐために、必ず"append" に設定し、Pandas がカラムとしてデータフレームインデックスを書き込むのを防ぐ必要がある場合はindex=False と設定します。
df = pd.DataFrame({"ShipName": ["Raleigh"], "ShipCity": ["New York"]}) df.to_sql("\"postgres\".\"public\".Orders", con=engine, if_exists="append", index=False)