自主制作 / 個人用ツール

CSV Insight

CSVから、月別・商品別の売上を見渡す。

日々の売上をCSVで管理している人に向けて、読み込み・集計・可視化・結果保存までをひとつにまとめた業務支援ツールです。Pythonによる集計と、ブラウザーで操作できる画面を組み合わせました。

Python / HTML / CSS / JavaScriptWindows・ローカル利用2026年10月
CSV Insightの実画面。売上合計、月別グラフ、商品別ランキングを表示
架空のカフェ売上データを使用した動作画面。画像を開くと拡大できます。

想定した課題

売上CSVを受け取るたびに、表計算ソフトで月別・商品別の集計を作り直す。入力ミスの確認や、報告用の数字をまとめる作業にも手間がかかる。

このような繰り返し作業を、少ない操作で進められる形にすることを目指しました。

作ったもの

CSVを読み込むと、売上合計・販売数量・明細数・商品数を表示。月別の推移と商品の売上構成を確認し、必要な期間を絞ってCSVに書き出せます。

ダブルクリックで起動できる、個人のPC内で完結する構成です。

日常の集計を、3つの操作で。

1. CSVを読み込む

UTF-8・Shift_JISに対応。代表的な列名を自動で見つけ、異なる場合は画面で対応する列を選べます。

2. 数字を確認する

期間を指定して再集計。棒グラフ・折れ線、商品別ランキングから売上の傾向を確認できます。

3. 結果を保存する

月別・商品別の集計をCSVで保存。入力に不備があれば、その行と理由を確認できます。

技術上の工夫

金額を正確に計算
PythonのDecimalで数量×単価を集計。正確な値をCSVに出力します。画面のグラフにはJavaScriptの数値を使います。
集計と画面を分離
CSV解析・検証・集計をPython側、操作とSVGグラフをJavaScript側に分け、変更と検証をしやすくしています。
複数の観点で検証
行の順番を変えても集計が変わらないこと、月別・商品別の合計が一致すること、日付や数値の境界などを自動検証します。
データをPC内で処理
外部API・AIモデル・CDNを使わず、入力ファイルを保存しない設計。フォントも同梱しています。
入力ミスを伝える
列の重複や日付の逆転を入力欄の近くに表示。キーボード操作、読み込み状態、フォーカスの見やすさも調整しました。

対応範囲