MySQLでのリアルタイムデータ分析とレポート生成にPythonを活用する方法

この記事では、MySQLでのリアルタイムデータ分析とレポート生成をPythonで実装する方法について解説します。実際のコード例、その詳細な解説、および応用例を2つ含めています。

目次

はじめに

データ分析とレポート生成は、ビジネスにおいて非常に重要な要素です。特にリアルタイムでのデータ分析は、瞬時の意思決定に大いに貢献します。PythonとMySQLを組み合わせれば、このような複雑なタスクも効率よく実行できます。

環境設定

PythonとMySQLがインストールされていることを前提とします。まず、PythonでMySQLを操作するために`mysql-connector-python`パッケージをインストールします。

pip install mysql-connector-python

MySQLデータベースの準備

テスト用のデータベースとテーブルをMySQLで作成します。

CREATE DATABASE testDB;
USE testDB;
CREATE TABLE sales (
    id INT PRIMARY KEY,
    product VARCHAR(255),
    quantity INT,
    timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

基本的なデータ分析

データの取得

次に、Pythonを用いてMySQLからデータを取得します。

# MySQLに接続
import mysql.connector
conn = mysql.connector.connect(user='root', password='password', host='127.0.0.1', database='testDB')
cursor = conn.cursor()

# データを取得
cursor.execute('SELECT * FROM sales')
rows = cursor.fetchall()

# データを表示
for row in rows:
    print(row)

# 接続を閉じる
cursor.close()
conn.close()

データの解析

PythonのPandasライブラリを用いて基本的なデータ分析を行います。

import pandas as pd

# MySQLから取得したデータをDataFrameに変換
df = pd.DataFrame(rows, columns=['id', 'product', 'quantity', 'timestamp'])

# 売上の合計を計算
total_sales = df['quantity'].sum()
print('Total Sales:', total_sales)

レポート生成

CSV形式での出力

簡単なレポートをCSV形式で出力します。

# CSVに保存
df.to_csv('sales_report.csv', index=False)

PDF形式での出力

Pythonの`reportlab`ライブラリを用いてPDFレポートを生成します。

from reportlab.lib.pagesizes import letter
from reportlab.lib import colors
from reportlab.lib.pagesizes import landscape, letter
from reportlab.platypus import SimpleDocTemplate, Table, TableStyle

# PDFファイルを生成
pdf = SimpleDocTemplate("sales_report.pdf", pagesize=letter)

# データとテーブルを設定
data = [df.columns.tolist()] + df.values.tolist()
table = Table(data)
table.setStyle(TableStyle([
    ('BACKGROUND', (0, 0), (-1, 0), colors.grey),
    ('TEXTCOLOR', (0, 0), (-1, 0), colors.whitesmoke),
    ('ALIGN', (0, 0), (-1, -1), 'CENTER'),
    ('FONTNAME', (0, 0), (-1, 0), 'Helvetica-Bold'),
    ('FONTSIZE', (0, 0), (-1, 0), 14),
    ('BOTTOMPADDING', (0, 0), (-1, 0), 12),
]))

# PDFにテーブルを追加
pdf.build([table “” not found /]
)

応用例

リアルタイムダッシュボード

PythonのDashライブラリを使い、リアルタイムでデータを更新するダッシュボードを作成することができます。

自動レポート送信

Pythonの`smtplib`を使用して、生成されたレポートを自動でメールで送信することも可能です。

まとめ

この記事では、MySQLでのリアルタイムデータ分析とレポート生成をPythonでどのように実装するかについて詳しく解説しました。Pythonの多機能性とMySQLの堅牢性を組み合わせることで、リアルタイムデータ分析とレポート生成が効率よく行えます。

コメント

コメントする

目次