Skip to content

yukayamaguchi18/json_diff

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

JSON差分検知・処理時間比較

概要

このプロジェクトは、ECサイトの商品データ更新処理を題材に、
実務で経験した「データの差分検知・JSON出力」を再現し、
標準ライブラリ版pandas版の処理を比較するものです。

実務では以下のような場面を想定しています:

  • 自社の商品マスタ(DB)と サイト掲載用JSON の同期
  • 差分のみを抽出して配布することで更新コストを削減
  • **処理方式の選定(軽量・高速・可読性)**を検証

実装構成

  • create_db.py
    サンプルDB作成。Fakerで商品データを生成し、値段・割引の欠損をランダムに付与。
    → 実務の「商品マスタDB更新」を再現。

  • use_json.py
    Python標準ライブラリ(sqlite3, json)による実装。
    forループで逐次処理し、JSONファイルとの差分を検出。
    → 実務の「軽量スクリプト/Lambda対応」を意識。

  • use_pandas.py
    pandasによる実装。
    DataFrameを用いて欠損補完・差分検知をベクトル演算で処理。
    → 実務の「データ分析基盤・バッチ処理」を意識。

  • main.py
    両者を呼び出し、処理時間を比較
    → 実務での「方式選定検証」を再現。


処理フロー

  1. 商品DB作成
    python create_db.py --n 10000
    → sample.db が生成されます。
  2. 処理時間比較
    python main.py
  3. 出力
  • 差分があれば new.json に出力
  • 実行ログに「差分件数」と「処理時間」を表示

実行例

5 records with changes found. Writing to new.json
標準ライブラリ版処理時間: 0.1234 秒
7 records with changes found. Writing to new.json
pandas版処理時間: 0.0891 秒

学び

Qiitaにまとめました。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages