PythonでJSONファイルのデータをSQLデータベースにインポートする具体的な手法

この記事では、Pythonを使ってJSONファイルのデータをSQLデータベースにインポートする方法について詳しく解説します。具体的なコード例、その詳細な解説、さらには応用例も含めています。

目次

背景と目的

JSON形式はWebアプリケーションやモバイルアプリでよく使われるデータ形式です。一方で、SQLデータベースは大規模なデータを扱いやすく、分析やビジネスロジックにも適しています。この二つを組み合わせることで、より強力なデータ管理が可能になります。

基本的な手法

Pythonの標準ライブラリやサードパーティのライブラリを用いて、JSONデータをSQLデータベースにインポートする基本的な手法を解説します。

必要なライブラリ

このチュートリアルで必要なライブラリは以下の通りです。
– json: JSONファイルの読み込みと解析
– sqlite3: SQLiteデータベースの操作

基本的なコード

import json
import sqlite3

# JSONファイルの読み込み
with open('data.json', 'r') as f:
    data = json.load(f)

# SQLiteデータベースに接続
conn = sqlite3.connect('database.db')
cursor = conn.cursor()

# テーブル作成
cursor.execute('CREATE TABLE IF NOT EXISTS my_table (id INTEGER, name TEXT, age INTEGER)')

# データのインサート
for item in data:
    cursor.execute('INSERT INTO my_table (id, name, age) VALUES (?, ?, ?)', (item['id'], item['name'], item['age']))

# コミットして変更を保存
conn.commit()

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

コードの解説

このコードでは、まず`json`ライブラリでJSONファイルを読み込み、`sqlite3`ライブラリでSQLiteデータベースに接続します。次に`CREATE TABLE`でテーブルを作成し、`INSERT INTO`でデータを挿入しています。最後に`commit()`で変更を保存し、`close()`でデータベース接続を閉じます。

応用例

応用例1: データの更新

# データの更新
cursor.execute('UPDATE my_table SET age = ? WHERE id = ?', (new_age, target_id))
conn.commit()

解説

`UPDATE`文を使って、特定の`id`を持つレコードの`age`を更新します。

応用例2: データの削除

# データの削除
cursor.execute('DELETE FROM my_table WHERE id = ?', (target_id,))
conn.commit()

解説

`DELETE`文を使って、特定の`id`を持つレコードを削除します。

応用例3: 複数テーブルへのデータ挿入

# 複数テーブルへのデータ挿入
cursor.execute('CREATE TABLE IF NOT EXISTS another_table (id INTEGER, address TEXT, phone TEXT)')
for item in data:
    cursor.execute('INSERT INTO another_table (id, address, phone) VALUES (?, ?, ?)', (item['id'], item['address'], item['phone']))
conn.commit()

解説

複数のテーブルにデータを挿入する場合も、基本的な流れは同じです。新たなテーブルを作成して、そのテーブルに対して`INSERT INTO`文を実行します。

まとめ

この記事では、PythonでJSONファイルのデータをSQLデータベースにインポートする具体的な方法を解説しました。基本的な手法から応用例まで幅広く紹介したので、これを参考に各自のプロジェクトでのデータ管理を効率化してみてください。

コメント

コメントする

目次