今回は、CSVファイルを扱う際によくある課題をまとめて解決できるツールを作ってみました。
CSVはシンプルな形式ですが、
- Excelで開くと文字化けする
- 不要な列を削除したい
- 特定の条件でデータを絞り込みたい
- 整形して別CSVとして保存したい
といったケースが意外と多くあります。
そこで今回は、CSVの整形・フィルター・エクスポートを行えるWindows向けツールをCursorで開発してみました。
今回も前回までと同様に、ClaudeでPRD(要件定義書)を作成し、その内容をCursorへ渡して開発しています。
……が、今回も思ったようにはいきませんでした。
今回作ったアプリ
今回作成したのは、CSVファイルを読み込み、必要な加工を行って再度CSVとして出力できるツールです。
現時点で実装した主な機能は以下のとおりです。
- CSVファイルの読み込み
- 文字コード変換(文字化け対策)
- 列の表示・非表示
- データフィルター
- CSVエクスポート
業務ではCSVを受け取って少し加工して保存する、という場面が意外と多くあります。
そうした日常業務を少しでも楽にできればと思い、今回作成してみました。
ClaudeでPRDを作成してからCursorで開発
今回の開発フローは次のような流れです。
Claude
↓
PRD(要件定義書)作成
↓
Cursor
↓
実装
最近はこの開発スタイルがお気に入りです。
自然文だけで依頼するよりも、
- 必要な機能
- 画面構成
- 処理内容
- 操作フロー
などが整理された状態になるため、Cursor側も実装しやすくなっている印象があります。
実際、画面構成や全体のUIについてはかなり期待通りに作成してくれました。
アプリ画面

本来期待していた動作
今回想定していた利用イメージは次のような流れです。
CSVを読み込む
↓
文字コードを判定
↓
データを一覧表示
↓
不要な列を非表示
↓
必要なデータだけフィルター
↓
整形したCSVとして保存
この流れが実現できれば、日常業務でも十分活用できる便利なツールになると思っていました。
……しかし、最初の読み込みでバグ発生
完成したので、さっそくサンプルCSVを読み込んでテストしてみました。
すると、いきなり違和感がありました。
カラム名とデータがずれて表示されているのです。
本来であれば、
注文番号
日付
商品名
というカラムに対して正しいデータが並ぶはずですが、
実際には1列ずつずれたような状態になっており、カラム名とデータの対応関係が崩れていました。
つまり、
CSVの読み込み処理そのものが正しく動作していませんでした。
フィルターやエクスポート以前の問題だったため、この時点で実用レベルには至りませんでした。
PRDを作っても実装品質は別問題
最近はClaudeでPRDを作成してからCursorへ渡す開発を続けています。
実際に感じているメリットとしては、
- 設計の抜け漏れが減る
- UIはかなり期待通りになる
- 機能一覧が整理される
- 実装方針がぶれにくい
という点があります。
一方で、
実装品質そのものは別問題ということも改めて感じました。
仕様書がしっかりしていても、
- CSV解析
- 区切り文字処理
- 文字コード判定
- データマッピング
といった細かな実装部分では普通にバグが発生します。
今回もまさにそのパターンでした。
experimental releaseらしい結果
最近公開しているアプリは、あえて experimental release として公開しています。
完成品というよりは、
「まず作ってみる」
「実際に使ってみる」
「改善点を見つける」
という実験的な位置付けです。
今回もその考え方どおり、
まずは形にしてみたものの、実際に試してみると読み込み部分でバグが見つかりました。
失敗も含めて公開していくことで、自分自身の開発記録としても残していきたいと思っています。
今後追加・改善したい機能
今後は以下のような改善を進めていく予定です。
- CSV読み込み処理の修正
- カラムずれの解消
- フィルター条件の追加
- ソート機能
- 複数条件検索
- 列名変更
- 列順変更
- 不要列削除
- Excel(xlsx)形式への出力
- 設定保存
- 大容量CSV対応
ここまで実装できれば、日常業務でも十分活用できるツールになりそうです。
GitHub Release
まとめ
今回は、ClaudeでPRDを作成し、その内容をもとにCursorでCSV整形ツールを開発してみました。
設計そのものはかなりスムーズに進められるようになってきましたが、
実装品質については、まだまだAI任せでは難しい部分があることも改めて実感しました。
とはいえ、こうした失敗も含めてAI開発の面白さだと思っています。
まずはCSV読み込み部分のバグを修正し、その後はフィルターやエクスポート機能をさらに充実させ、実際の業務でも使えるツールへ育てていきたいと思います。


