機械学習

Pandasを利用してOracle DBのデータを取得してみた

Pythonでデータの取り込みや加工・集計、分析処理に利用できるライブラリの一つにPandasがあり、これを利用するとCSVファイルの読み込みに加え、データベースのデータの読み込みも行える。

今回は、Pandasを利用してOracle DBのデータ読み込みを行ってみたので、その手順とサンプルプログラムを共有する。

前提条件

下記記事の、A5M2を利用したOracle DBへの接続が行えること。

A5M2を利用して各DBに接続してみたA5M2(A5:SQL Mk-2)は、SQL文の入力支援やER図作成などの機能を備えていて、Oracle、MySQL、PostgreSQ...

Oracle DBへ接続する際の接続設定は以下の通りで、パスワードは「USER01」であること。
前提条件_1

また、USER_DATAテーブルに、以下のデータが作成されていること。
前提条件_2

さらに、下記記事のAnacondaをインストールしJupyter Notebookを利用できること。

Python開発用のAnacondaをインストールしJupyter Notebookを利用してみた今回は、Pythonを勉強してみたいと思い、Python開発環境を構築してみたので、その手順を共有する。 Python開発用として...

やってみたこと

  1. oracledbパッケージのインストール
  2. oracledbによるSELECT文の実行
  3. PandasによるSELECT文の実行
  4. cx-oracleパッケージのインストール

oracledbパッケージのインストール

PythonでOracle DBに接続するには、Anacondaでoracledbパッケージを使えるようにする必要がある。その手順は、以下の通り。

1) Windowsのスタートメニューから「Anaconda Prompt」を選択する。
oracledbパッケージのインストール_1

2) 以下のように、「conda list -f oracledb」コマンドを実行し、Anacondaにoracledbパッケージが含まれていないことを確認する。
oracledbパッケージのインストール_2

3)「pip install oracledb」コマンドを実行し、oracledbパッケージをインストールする。
oracledbパッケージのインストール_3

4)「conda list -f oracledb」コマンドを再度実行し、Anacondaにoracledbパッケージがインストールされたことを確認する。
oracledbパッケージのインストール_4



Androidロックを解除する裏ワザ「4uKey for Android」をご紹介Android端末では、以下の画像のような画面ロックパスワードを設定することができますが、このパスワードを忘れてしまうと、Android...

oracledbによるSELECT文の実行

oracledbを利用して、Oracle DBのデータを取得し表示するサンプルプログラムと実行結果は、以下の通り。

oracledbによるSELECT文の実行

PandasによるSELECT文の実行

Pandasを利用して、Oracle DBのデータを取得する際、以下のサンプルプログラムを実行すると、実行は行えるものの、SQLAlchemyのみがサポート対象である旨の警告が出てしまう。

PandasによるSELECT文の実行_1

PandasによるSELECT文の実行_2

上記ソースコードを、SQLAlchemyを利用するよう修正したサンプルプログラムと実行結果は、以下の通り。

PandasによるSELECT文の実行_3

PandasによるSELECT文の実行_4

なお、上記実行結果になるには、cx-oracleパッケージのインストールする必要がある。cx-oracleパッケージをインストールしていない場合、以下のエラーメッセージが表示される。
PandasによるSELECT文の実行_5



「CODE×CODE」は、需要の高い技術(AWS, Python等)を習得できるプログラミングスクールスクールだった近年、さまざまな会社でクラウド(特にIaaSやPaaSのパブリッククラウド)の需要が非常に高まっていて、クラウドサービスによるシステム開...

cx-oracleパッケージのインストール

SQLAlchemyを利用するには、cx-oracleパッケージのインストールが必要である。その手順は、以下の通り。

1) Anacondaプロンプトで「pip install cx_Oracle」コマンドを実行すると、Microsoft Visual C++ 14.0以降がインストールされていない場合、以下のエラーメッセージが表示される。
cx-oracleパッケージのインストール_1

2) 以下のサイトの記載内容に従って、Microsoft Visual C++ 14.0以降をインストールする。
「microsoft-visual-c-14-0-or-greater-is-required-」が出た場合の対処方法

3) Anacondaプロンプトで「pip install cx_Oracle」コマンドを再度実行すると、以下のように、cx-oracleパッケージがインストールされる。
cx-oracleパッケージのインストール_3

4)「conda list -f cx-oracle」コマンドを実行し、Anacondaにcx-oracleパッケージがインストールされたことを確認する。
cx-oracleパッケージのインストール_4

要点まとめ

  • PythonでOracle DBに接続するには、oracledbパッケージをインストールする必要がある。
  • Pandasのread_sqlメソッドを利用して、Oracle DBのデータを取得すると、実行は行えるものの、SQLAlchemyのみがサポート対象である旨の警告が出てしまう。
  • SQLAlchemyを利用してOracle DBに接続するには、cx-oracleパッケージをインストールする必要がある。