今すぐお試しください!

製品の詳細CData Python Connector for USPS を確認して、無償評価版をダウンロード:

今すぐダウンロード

Python pandas を使ってUSPS データをビジュアライズ

CData Python Connector for USPS を使えば、Python でUSPS をpandas やその他の標準モジュールでで呼び出し、データ分析やビジュアライズが可能になります。

Pythonエコシステムには、多くのモジュールがあり、システム構築を素早く効率的に行うことができます。CData Python Connector for USPS は、pandas、Matplotlib モジュール、SQLAlchemy ツールキットから使用することで USPS にデータ連携するPython アプリケーションを構築し、USPS をビジュアライズできます。本記事では、pandas、SQLAlchemy、およびMatplotlib のビルトイン機能でUSPS にリアルタイムアクセスし、クエリを実行し、結果をビジュアライズする方法を説明します。

CData Python Connector は、ビルトインされた効率的なデータプロセスにより、リアルタイムUSPS データにPython からアクセスし、高いパフォーマンスと接続性を発揮します。USPS に複雑なクエリを投げる際に、ドライバーはフィルタリング、集計などがサポートされている場合、SQL 処理を直接USPS 側に行わせ、サポートされていないSQL 処理については、組み込まれたSQL エンジンによりクライアント側で処理を行います(特にJOIN やSQL 関数など)。

USPS データへの接続

USPS への連携は、RDB ソースへのアクセスと同感覚で行うことができます。必要な接続プロパティを使って接続文字列を作成します。本記事では、接続文字列をcreate_engine 関数のパラメータとして送ります。

To authenticate with USPS, set the following connection properties.

  • PostageProvider: The postage provider to use to process requests. Available options are ENDICIA and STAMPS. If unspecified, this property will default to ENDICIA.
  • UseSandbox: This controls whether live or test requests are sent to the production or sandbox servers. If set to true, the Password, AccountNumber, and StampsUserId properties are ignored.
  • StampsUserId: This value is used for logging into authentication to the Stamps servers. This value is not applicable for Endicia and is optional if UseSandbox is true.
  • Password: This value is used for logging into Endicia and Stamps servers. If the postage provider is Endicia, this will be the pass phrase associated with your postage account. It is optional if UseSandbox is true.
  • AccountNumber: The shipper's account number. It is optional if UseSandbox is true.
  • PrintLabelLocation: This property is required to use the GenerateLabels or GenerateReturnLabels stored procedures. This should be set to the folder location where generated labels should be stored.

The Cache Database

Many of the useful task available from USPS require a lot of data. To ensure this data is easy to input and recall later, utilize a cache database to make requests. Set the cache connection properties in order to use the cache:

  • CacheLocation: The path to the cache location, for which a connection will be configured with the default cache provider. For example, C:\users\username\documents\uspscache

As an alternative to CacheLocation, set the combination of CacheConnection and CacheProvider to configure a cache connection using a provider separate from the default.

以下の手順に従い、必要なモジュールをインストールし、Python オブジェクト経由でUSPS にアクセスします。

必要なモジュールのインストール

pip で、pandas & Matplotlib モジュールおよび、SQLAlchemy ツールキットをインストールします:

pip install pandas
pip install matplotlib
pip install sqlalchemy

以下のようにモジュールをインポートします:

import pandas
import matplotlib.pyplot as plt
from sqlalchemy import create_engine

Python でUSPS データをビジュアライズ

次は、接続文字列で接続を確立します。create_engine 関数を使って、USPS に連携するEngne を作成します。.

engine = create_engine("usps:///?PostageProvider=ENDICIA& RequestId=12345& Password='abcdefghijklmnopqr'& AccountNumber='12A3B4C'")

USPS にアクセスするSQL を実行

pandas のread_sql 関数を使って好きなSQL を発行して、DataFrame にデータを格納します。

df = pandas.read_sql("""SELECT FirstName, Phone FROM Senders WHERE SenderID = '25'""", engine)

USPS データをビジュアライズ

DataFrame に格納されたクエリ結果に対して、plot 関数をつかって、USPS data をグラフで表現してみます。show メソッドはグラフを新しいウィンドウに表示します。

df.plot(kind="bar", x="FirstName", y="Phone")
plt.show()

製品の無償トライアル情報

USPS Python Connector の30日の無償トライアル をぜひダウンロードして、USPS への接続をPython アプリやスクリプトから簡単に作成しましょう。



ソースコードe

import pandas
import matplotlib.pyplot as plt
from sqlalchemy import create_engin

engine = create_engine("usps:///?PostageProvider=ENDICIA& RequestId=12345& Password='abcdefghijklmnopqr'& AccountNumber='12A3B4C'")
df = pandas.read_sql("""SELECT FirstName, Phone FROM Senders WHERE SenderID = '25'""", engine)

df.plot(kind="bar", x="FirstName", y="Phone")
plt.show()
 
 
ダウンロード