Python 開発者ガイド - はじめに

Python は、基本的なデータ分析からフル機能のアプリケーション開発まで、 幅広い用途に使える強力なプログラミング言語です。

このガイドでは、CSV ファイル*のファイルパスを入力し、 接続してデータをテーブルとして取得するシンプルな Python スクリプトを作成します。 また、基本的な接続機能を超えて、シームレスなデータ移行、レプリケーション、 ライブアクセスを可能にする CData コネクタの独自機能についても紹介します。

CData Python Connectors を使うと、使い慣れた SQL クエリで データの読み取り、書き込み、更新が可能です。プロトコル固有のリクエストは不要です。 標準 SQL-92 インターフェース、組み込み SQL エンジン、プッシュダウン最適化、 エンタープライズグレードのセキュリティにより、270 以上の クラウドおよびオンプレミスのデータソースとの統合がシンプルになります。

このガイドでは、CData Python Connector for CSV のCommunity EditionVSCodepandas を使って、簡単なデータアクセスと 操作のデモを行います。CData の最適化された処理により、複雑な SQL 操作をソースに プッシュダウンし、サポートされていないクエリはクライアント側で処理することで、 高いパフォーマンスを実現します。

(* このガイドでは CSV ファイルへの接続を取り上げていますが、 同じ原則は CData Connectors がサポートする 270 以上のデータソースすべてに適用できます。)

前提条件

  1. Visual Studio Code (VSCode): こちらからダウンロードしてインストールしてください。
  2. Python ディストリビューション: こちらからダウンロードしてください。
  3. CData Python Connector for CSV (Community Edition): こちらから無料でダウンロードしてください。
  4. サンプル CSV ファイル: このガイド用にサンプル CSV ファイルを用意しました。こちらからダウンロードしてください。


はじめに

概要

手順の概要は以下のとおりです。

  1. CData Python Connector for CSV と VSCode をダウンロード、インストール、設定し、必要なモジュールをインポートします。
  2. CSV ファイルへの接続を確立し、データをクエリします。
  3. データレプリケーションや SQL ストアドプロシージャなど、CData コネクタの高度な機能を実行します。

STEP 1: 必要なツールとモジュールのインストール、設定、インポート

1.1 Visual Studio Code (VSCode) のインストール

すでにこれらのツールをインストール済みの場合は、この手順をスキップできます。

  • VSCode は、こちらからインストーラーをダウンロードし、 実行して画面の指示に従ってインストールを完了してください。
  • Python は、こちらから最新バージョンをダウンロードし、 インストーラーを実行してください。インストール時に 「Add Python to PATH」 オプションに チェックを入れてください。これにより、コマンドラインから Python を使用できるようになります。

1.2 CData Python Connector for CSV のインストール

以下の手順で CData Python Connector for CSV をインストール・設定します。

依存関係に関する注意: Python コネクタは Python バージョン 3.8、3.9、3.10、3.11、3.12 をサポートしています。これ以外のバージョンの Python を 使用している場合は、仮想環境を作成する必要があるかもしれません。

  1. ダウンロードしたコネクタの ZIP ファイルを任意の場所に展開します。
  2. ターミナルまたはコマンドプロンプトを開き、対応するインストールディレクトリに移動するか、 .whl ファイルがあるディレクトリでコマンドプロンプトを開きます。例: C:\Users\Public\Downloads\CSVPythonConnector\CData.Python.CSV\win\Python312\64
  3. Windows の場合: pip インストーラーを使用して .whl ファイルをインストールします。 お使いの Python バージョンとアーキテクチャに適したバージョンを使用してください。コマンド例: pip install cdata_csv_connector-24.0.9111-cp312-cp312-win_amd64.whl
  4. Linux または macOS の場合: pip インストーラーを使用して .tar.gz ファイルをインストールします。 お使いの Python バージョンとアーキテクチャに適したバージョンを使用してください。コマンド例: pip install cdata_csv_connector-24.0.####-python3.tar.gz
  5. 以下のコマンドを実行して、インストールが成功したことを確認します: pip list

cdata-csv-connector がリストに表示されれば、インストールは成功です。

1.3 CData コネクタのライセンスインストール

コネクタをインストールしたら、お使いのマシンに Community Edition ライセンスキーをインストールします。

トライアル版のコネクタを使用している場合、ライセンスファイルは Python インストールの lib\site-packages ディレクトリに既に配置されているはずです。 例: ~\AppData\Local\Programs\Python\Python312\Lib\site-packages\cdata\installlic_csv

フル版の Community Edition コネクタを使用していてライセンスファイルが見つからない場合は、 こちらから CSV Connector の Community License をリクエストしてダウンロードしてください。

1.4 Windows でのライセンスインストール

  1. ライセンスを含む ZIP ファイルをダウンロードして展開します。
  2. ターミナルまたはコマンドプロンプトを開きます。
  3. ライセンスインストーラーの場所に移動します。通常は以下の場所です: C:\Users\Username\AppData\Local\Programs\Python\Python312\Lib\site-packages\cdata\installlic_csv
  4. 別途ダウンロードした場合は以下の場所になります: C:\Downloads\cdata\installlic_csv
  5. インストーラーを実行します: .\license-installer.exe
  6. 画面に表示される登録情報を入力してインストールを完了します。

1.5 macOS/Linux でのライセンスインストール

  1. ライセンスを含む ZIP ファイルをダウンロードして展開します。
  2. 展開したディレクトリ内でターミナルを開きます。例: cd ~/Downloads/CData-Python-CSV
  3. ライセンスインストーラーの場所に移動します。通常は以下の場所です: /usr/local/lib/python3.12/site-packages/cdata/installlic_csv
  4. インストーラーを実行します: ./license-installer
  5. 画面に表示される登録情報を入力してインストールを完了します。

1.6 新しい Python ファイルを作成して必要なモジュールをインポート

  1. VSCode を起動し、File > New File から Python File を選択します。
  2. File > Save でファイルを任意の場所に保存します。
  3. スクリプトの先頭に以下のインポートを追加します:
import os import warnings import cdata.csv as mod # CData CSV モジュールをインポート import pandas as pd from sqlalchemy import create_engine import petl as etl import sqlite3

STEP 2: CSV ファイルへの接続を確立してデータをクエリ

2.1 接続の確立

  1. インポート文の下に以下のコードを貼り付けます。
  2. ターミナルでファイルパスの入力を求められます。CSV ファイルが含まれる ルートフォルダの正しい場所を指定してください。
    例: C:\User\Public\Documents\CSV-files
  3. 注意: create_engine 関数の接続文字列には、 オプションのプロパティ RowScanDepth が含まれています。 このプロパティは整数値を取り、メタデータを自動的に含まないデータソース(CSV ファイルなど)の カラム構造を動的に決定する際にスキャンする行数を定義します。 RowScanDepth の値を大きくすると精度は向上しますが、処理時間が長くなる可能性があります。 この値を 0 に設定すると、CSV ドキュメント全体をスキャンします。 デフォルト値は 100 です。
  4. パスを入力すると、目的の CSV ファイルに対応する番号を選択するよう求められます。 番号を選択すると、データが表示されます。
# SQLAlchemy の非推奨警告を抑制 warnings.filterwarnings("ignore", category=DeprecationWarning) # CSV ディレクトリパスを取得して検証 csv_path = input("Enter the CSV directory path: ").strip() if not os.path.isdir(csv_path): exit("Error: Directory does not exist.") # CSV ディレクトリに接続するための SQLAlchemy エンジンを作成 engine = create_engine(f"csv:///?URI={csv_path};RowScanDepth=0") # 利用可能な CSV ファイルのリストを取得 tables_df = pd.read_sql("SELECT * FROM sys_tables", engine) # ディレクトリに有効な CSV ファイルが含まれているか確認 if tables_df.empty or "TableName" not in tables_df.columns: print("Error: No CSV files found.") exit() # 利用可能な CSV ファイルを番号付きで表示 print("\nAvailable CSV files:\n" + "\n".join(f"{i+1}. {row['TableName']}" for i, row in tables_df.iterrows())) try: # ユーザーの選択を取得して検証 table_choice = int(input("\nSelect a file number: ")) - 1 chosen_file = tables_df.at[table_choice, "TableName"] # 選択した CSV ファイルを DataFrame に読み込み df = pd.read_sql(f'SELECT * FROM "{chosen_file}"', engine) # データのプレビューを表示 print("\nSample Data:\n", df.head()) except (ValueError, IndexError): print("Error: Invalid selection.")

右上Run Python File ボタンをクリックしてコードを実行します。 その後、ターミナルでファイル名を送信し、選択を入力します。

このコードは CSV ディレクトリパスの入力を求め、検証し、SQLAlchemy を使用して接続します。 利用可能な CSV ファイルを取得し、番号付きリストで表示して、 ユーザーに選択を求めます。選択したファイルは Pandas DataFrame に読み込まれ、 プレビューが表示されます。無効な入力に対してはエラーメッセージが表示されます。


STEP 3: 高度な操作の実行

CSV ファイルへの接続とデータのクエリに成功したので、 CData Python Connector の高度な機能を活用して、データソースに関連する操作を実行できます。 CSV コネクタの場合、ファイルの作成、移動、コピー、削除が可能です。 さらに、データストレージサービス(Google Cloud、AWS など)との OAuth 認証を行い、 リモートの CSV ファイルに安全にアクセスすることもできます。

CData コネクタはストアドプロシージャを通じてこれらの操作を実行できます。 ストアドプロシージャは、パラメータを受け取り、タスクを実行し、 成功または失敗のステータスを含む関連するレスポンスデータを返す、 事前定義されたコマンドのように機能します。

次のコードは ListFiles ストアドプロシージャを実行します。 これは、ローカルまたはクラウドベースのディレクトリに保存されているすべての CSV ファイルを一覧表示します。

上記のコードを現在のスクリプトの末尾に貼り付け、右上Run Python File ボタンをクリックして実行します。 ターミナルの指示に従って、ストアドプロシージャを選択して実行してください。

# CSV エンジンに再接続して利用可能なストアドプロシージャを取得 conn = mod.connect(f"URI={csv_path}") cur = conn.cursor() try: cur.callproc("ListFiles") results = cur.fetchall() if results: print("\nFiles in directory:") for row in results: print(row) else: print("\nNo files found in the directory.") print("\nStored procedure 'ListFiles' executed successfully.") except Exception as e: print(f"\nError executing ListFiles: {e}")

正常に実行されると、ディレクトリ内のすべての利用可能な CSV ファイルのリストが表示され、 さらなる操作を行う前に保存されているデータを確認できます。

次のステップ

Python と CData の Python Connectors のパワーを体験したところで、 開発を次のレベルに進めましょう。コネクタの完全なリストとドキュメントは こちらで確認できます。さらに探求できるオプションをいくつか紹介します:

  • Python をアプリ開発に統合: Django、Flask、FastAPI などのフレームワークを使った開発プロジェクトに CData Python Connectors を組み込み、CSV データとシームレスに連携する 動的な Web アプリケーションを構築できます。リアルタイムデータアクセスの実現、 API 統合の効率化、効率的なデータクエリ、フィルタリング、変換機能による バックエンド機能の強化が可能です。
  • リアルタイムでデータを移動・レプリケート: CData Python Connectors を使用して、数百万行の大規模データセットを簡単に移行できます。 組み込みの最適化されたデータ処理と CDC(変更データキャプチャ)を活用して、 データベース、クラウドストレージ、データウェアハウス間でデータを効率的に転送します。 ダウンタイムを最小限に抑え、シームレスな統合を実現します。
  • 高度なデータ分析を実行: 時系列分析、ピボットテーブル、Python での機械学習など、 pandas を使ったより高度なデータ操作に挑戦してみてください。
  • インタラクティブなダッシュボードを作成: Dash や Streamlit などのライブラリを使用して、CSV データを直感的に 可視化するインタラクティブなリアルタイムダッシュボードを作成できます。
  • 他の CData Python Connectors を探求: SQL データベース、API、クラウドプラットフォームなど、さまざまなデータソースと 統合するための他の CData Python Connectors も試してみてください。

まとめ

Python と CData の Python コネクタを組み合わせることで、データ統合と自動化が効率化され、 データの操作と可視化が容易になります。このガイドでは、CSV データへの接続、クエリ、 操作方法を説明しました。これにより、効率的でデータ駆動型のアプリケーションを構築できます。

データ開発者向け無料 Community License

CData Python Connectors は、 Python DB-API の機能をさらに強化し、従来のデータベースだけでなく、 SaaS、NoSQL、ビッグデータシステムを含む 270 以上のデータソースへの 一貫した SQL ベースの接続を提供します。

CData Python Community License を使えば、 個人の Python プロジェクトでデータにアクセスするためのライブラリを無料で永続的に利用できます。 すべて使い慣れた SQL を通じて行えます。ライセンスをリクエストして、 より良く接続されたプロジェクトを今すぐ始めましょう!