CData Python Connector for SAP Ariba Procurement

Build 24.0.9062

Pandas から

コネクタと組み合わせることで、Pandas を使用してSAP Ariba データを含むデータフレームを生成できます。 作成したデーフレームは、他のさまざまなPython パッケージに渡すことができます。

接続

Pandas はSQLAlchemy エンジンに依存してクエリを実行します。Pandas を使用する前に、インポートする必要があります。
import pandas as pd
from sqlalchemy import create_engine
engine = create_engine("saparibaprocurement:///?ANID=AN02000000280;API=PurchaseOrdersBuyerAPI-V1;APIKey=wWVLn7WTAXrIRMAzZ6VnuEj7Ekot5jnU;AuthScheme=OAuthClient;InitiateOAuth=GETANDREFRESH;OAuthClientId=testClient;OAuthClientSecret=testClientSecret;UseSandbox=false;")

データのクエリ

Pandas では、SELECT クエリはread_sql() メソッド呼び出しで、関連する接続オブジェクトと共に提供されます。Pandas はその接続上でクエリを実行し、さまざまな目的で使用されるデータフレームの形式で結果を返します。
df = pd.read_sql("""
	SELECT
	   DocumentNumber,
	   Revision,
     $exNumericCol;
	FROM Orders;""", engine)
print(df)

データの編集

新しいレコードをテーブルに挿入するには、新しいデータフレームを作成し、それに応じてフィールドを定義するだけです。 これが完了したら、以下の例のようにデータフレームでto_sql() を呼び出すだけで、コネクタでINSERT 操作を実行できます。"if _exists" 引数は、Pandas がテーブルをゼロから構築しようとするのを防ぐために、必ず"append" に設定してください:Pandas がデータフレームのインデックスをカラムとして書き込まないようにするには、index=False を設定します。
df = pd.DataFrame({"DocumentNumber": ["Jon Doe"], "Revision": ["John"]})
df.to_sql("Orders", con=engine, if_exists="append", index=False)

Copyright (c) 2024 CData Software, Inc. - All rights reserved.
Build 24.0.9062