CursorにCSV整形ツールを作らせてみた|文字化け対策・フィルター・エクスポート機能を実装

Cursorで開発したCSV整形ツールのアイキャッチ画像。CSVの文字化け対策、フィルター、列の表示・非表示、CSVエクスポート機能を備えたWindows向けアプリのUIと、「バグあり」の警告表示をデザインし、サンプルCSVでカラムとデータがずれる不具合が発生した experimental release を表現している。 Cursor開発

今回は、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

Release v0.1 experimental release ?? scrap-apps/csv-tailor
Experimental csv tailor tool built with Cursor. Contribute to scrap-apps/csv-tailor development by creating an account o…

まとめ

今回は、ClaudeでPRDを作成し、その内容をもとにCursorでCSV整形ツールを開発してみました。

設計そのものはかなりスムーズに進められるようになってきましたが、

実装品質については、まだまだAI任せでは難しい部分があることも改めて実感しました。

とはいえ、こうした失敗も含めてAI開発の面白さだと思っています。

まずはCSV読み込み部分のバグを修正し、その後はフィルターやエクスポート機能をさらに充実させ、実際の業務でも使えるツールへ育てていきたいと思います。


関連記事