csv-data-wrangler について
CSV の効率的な処理、クリーニング、検証、変換を支援するスキルです。ファイル規模に応じた方法を選び、チャンク処理や DuckDB による SQL クエリなどに活用できます。
主な機能
- 01大容量ファイルの処理方法
- 02CSV のクリーニングと検証
- 03文字コードと区切り文字の処理
- 04データセットの再構成と結合
- 05DuckDB による SQL クエリ
活用シーン
- 01メモリに収まらない CSV の処理
- 02表形式データのクリーニングと検証
- 03文字コードや区切り文字の問題解決
- 04SQL による CSV データの検索
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ 404kidwiz/ claude-supercode-skills --skill csv-data-wranglerインストール後、Claude Code で/csv-data-wranglerを入力して読み込まれたか確認します。
詳細
CSV データ処理
目的
CSV ファイルの効率的な処理、データのクリーニング、変換に関する専門知識を提供します。大容量ファイル、エンコーディングの問題、不正な形式のデータ、および表形式データのワークフローにおけるパフォーマンス最適化に対応します。
使用する場面
- 大容量の CSV ファイルを効率的に処理する
- CSV データをクリーニングして検証する
- データセットを変換して再構成する
- エンコーディングや区切り文字の問題に対応する
- CSV ファイルを結合または分割する
- 表形式のフォーマット間で変換する
- SQL(DuckDB)で CSV をクエリする
クイックスタート
次の場合にこのスキルを呼び出してください:
- 大容量の CSV ファイルを効率的に処理する
- CSV データをクリーニングして検証する
- データセットを変換して再構成する
- エンコーディングや区切り文字の問題に対応する
- SQL で CSV をクエリする
次の場合は呼び出さないでください:
- 書式設定された Excel ファイルを作成する(xlsx-skill を使用)
- データの統計分析を行う(data-analyst を使用)
- データパイプラインを構築する(data-engineer を使用)
- データベースを操作する(sql-pro を使用)
判断フレームワーク
Tool Selection by File Size:
├── < 100MB → pandas
├── 100MB - 1GB → pandas with chunking or polars
├── 1GB - 10GB → DuckDB or polars
├── > 10GB → DuckDB, Spark, or streaming
└── Quick exploration → csvkit or xsv CLI
Processing Type:
├── SQL-like queries → DuckDB
├── Complex transforms → pandas/polars
├── Simple filtering → csvkit/xsv
└── Streaming → Python csv module
主なワークフロー
1. 大容量 CSV の処理
- ファイルの特性を確認する(サイズ、エンコーディング、区切り文字)
- 規模に適したツールを選ぶ
- メモリに制約がある場合は、チャンク単位で処理する
- エンコーディングの問題に対応する(UTF-8、Latin-1)
- 各列のデータ型を検証する
- 適切な引用符を使用して出力する
2. データクリーニングのパイプライン
- サンプルを読み込み、構造を把握する
- 欠損値と不正な形式の値を特定する
- 列ごとにクリーニングルールを定義する
- 変換を適用する
- 出力品質を検証する
- クリーニングの統計情報を記録する
3. DuckDB による CSV のクエリ
- DuckDB に CSV ファイルを指定する
- DuckDB にスキーマを推論させる
- SQL クエリを直接記述する
- 結果を新しい CSV にエクスポートする
- 必要に応じて Parquet として保存する
ベストプラクティス
- エンコーディングは必ず明示的に指定する
- 大容量ファイルの読み込みにはチャンク処理を使用する
- ツールを選ぶ前にファイルの特性を確認する
- 元のファイルは保持し、新しいファイルに書き込む
- 処理前後の行数を検証する
- 引用符付きフィールドとエスケープを適切に処理する
アンチパターン
| アンチパターン | 問題 | 正しい方法 |
|---|---|---|
| すべてをメモリに読み込む | 大容量ファイルでメモリ不足になる | チャンク処理またはストリーミングを使用する |
| エンコーディングを推測する | 文字化けする | まず chardet で検出する |
| 引用符を無視する | フィールドの解析が壊れる | 適切な CSV パーサーを使用する |
| 検証しない | データ破損に気づかない | 行数と列数を検証する |
| 文字列を手動で分割する | 特殊なケースで失敗する | csv モジュールまたは pandas を使用する |
コメント
Markdown 対応