pandasとMySQLを連携させる方法

Tech

Pythonのデータ解析ライブラリであるpandasは、データフレーム形式での効率的なデータ操作を可能にします。このpandasをMySQLと連携させることで、データベースからデータを取得したり、加工したデータを保存したりする作業が簡単に行えます。この記事では、pandasとMySQLを連携させる手順を具体的に解説します。

必要なライブラリのインストール

まず、pandasとMySQLの接続に必要なライブラリをインストールします。

pip install pandas pymysql sqlalchemy

ライブラリの説明:

  • pandas: データ操作のためのライブラリ。
  • pymysql: MySQLに接続するためのドライバ。
  • SQLAlchemy: データベースとPythonコードを簡単に統合するためのライブラリ。

1. MySQLデータベースに接続

pandasとMySQLを連携させるために、まずSQLAlchemyを使用してMySQLデータベースに接続します。

from sqlalchemy import create_engine

# 接続情報
username = 'your_username'
password = 'your_password'
host = 'localhost'
database = 'your_database'

# 接続エンジンを作成
engine = create_engine(f"mysql+pymysql://{username}:{password}@{host}/{database}")

# 接続確認
connection = engine.connect()
print("MySQLデータベースに接続しました!")
connection.close()

注意点: your_username, your_password, localhost, your_database を適切な値に置き換えてください。

2. MySQLからデータを読み込む

pandasのread_sqlメソッドを使用すると、SQLクエリの結果を簡単にデータフレームとして取得できます。

import pandas as pd

# SQLクエリ
query = "SELECT * FROM your_table"

# データを読み込む
df = pd.read_sql(query, con=engine)

# データの確認
print(df.head())

3. pandasのDataFrameをMySQLに書き込む

加工したデータをMySQLに保存するには、to_sqlメソッドを使用します。

# データフレームを作成
data = {'名前': ['田中', '鈴木'], '年齢': [25, 30], '職業': ['エンジニア', 'デザイナー']}
df_to_write = pd.DataFrame(data)

# テーブルにデータを書き込む
df_to_write.to_sql(name='your_table', con=engine, if_exists='append', index=False)

print("データをMySQLに書き込みました!")

引数:

  • name: 書き込むテーブル名。

  • if_exists: ‘replace’ (テーブルを置き換える), ‘append’ (既存のテーブルに追加)。

まとめ

pandasとMySQLを連携させることで、効率的なデータ操作や分析が可能になります。

  • MySQLからデータを取得してpandasで分析。

  • 分析結果をMySQLに保存。

  • 動的なクエリを使用した柔軟なデータ処理。


この方法を活用し、データ分析の効率を高めましょう!

タイトルとURLをコピーしました