Pandas から
コネクタと組み合わせることで、Pandas を使用してMicrosoft Dynamics GP データを含むデータフレームを生成できます。 作成したデーフレームは、他のさまざまなPython パッケージに渡すことができます。
接続
Pandas はSQLAlchemy エンジンに依存してクエリを実行します。Pandas を使用する前に、インポートする必要があります。import pandas as pd from sqlalchemy import create_engine engine = create_engine("dynamicsgp:///?CompanyId=mycompanyId;user=myuser;password=mypassword;URL=http://{servername}:{port}/Dynamics/GPService")
データのクエリ
Pandas では、SELECT クエリはread_sql() メソッド呼び出しで、関連する接続オブジェクトと共に提供されます。Pandas はその接続上でクエリを実行し、さまざまな目的で使用されるデータフレームの形式で結果を返します。df = pd.read_sql(""" SELECT Id, Name, $exNumericCol; FROM Customer;""", engine) print(df)
データの編集
新しいレコードをテーブルに挿入するには、新しいデータフレームを作成し、それに応じてフィールドを定義するだけです。 これが完了したら、以下の例のようにデータフレームでto_sql() を呼び出すだけで、コネクタでINSERT 操作を実行できます。"if _exists" 引数は、Pandas がテーブルをゼロから構築しようとするのを防ぐために、必ず"append" に設定してください:Pandas がデータフレームのインデックスをカラムとして書き込まないようにするには、index=False を設定します。df = pd.DataFrame({"Id": ["CDATA000001"], "Name": ["CDATA000002"]}) df.to_sql("Customer", con=engine, if_exists="append", index=False)