CSVファイルは、Excelで開くと一覧で確認できるので便利です。
テキストエディタで見るより内容を追いやすく、データの確認や簡単な修正もしやすくなります。
ただ、CSVをそのままExcelで開くと、Excel側の判断で値の見え方が変わることがあります。
先頭に0が付いたコードが数値として扱われたり、日付のような値が別の形式で表示されたりすると、元のCSVと同じ値なのか分かりにくくなります。
この問題については、以前の記事で書きました。
今回は、CSVの値を変えずに、Excelで確認しやすい形へ変換するツールをCodexで作っていくことを説明します。
CSVをExcelで確認しやすい形に変換する
今回作るのは、CSVファイルを指定するとExcelファイルを作成するツールです。
たとえばsample.csvを指定すると、sample.xlsxを作成します。
Excelに出力するときは、CSVの値を文字列として扱います。
商品コードや会員番号のように先頭の0がある値でも、そのまま確認できるようにします。
さらに、Excelで開いたときに見やすいように、表には罫線を引きます。
CSVをExcelファイルに変換するだけでなく、確認しやすい表として開けるようにします。
今回作るツールは以下です。
- CSVファイルを指定して実行する
- CSVと同じ名前のExcelファイルを作成する
- CSVの1行目をExcelの1行目に出力する
- CSVの2行目以降をExcelの2行目以降に出力する
- すべての値を文字列として出力する
- Excelで見やすいように罫線を引く
- 作成したコードはGitHubで公開する
最初から機能を増やしすぎると、作るのに時間がかかります。
まずは、CSVを指定してExcelファイルを作るところまでに絞ります。
Codexには作りたい動きを伝える
Codexに頼むときは、「CSVをExcelに変換するツールを作ってください」だけでは少し足りません。
それだけでもコードは作れるかもしれませんが、今回ほしい動きから外れる可能性があります。
今回は、CSVの値を文字列としてExcelに出力することが大事です。
Excelで確認しやすいように、罫線を引くことも伝えておきます。
使うライブラリも、Codexに伝える内容として整理します。
| 使うもの | 役割 |
|---|---|
| argparse | コマンドラインでCSVファイルのパスを受け取る |
| csv | CSVファイルを読み込む |
| pathlib | 入力ファイルの確認や出力ファイル名の作成に使う |
| openpyxl | Excelファイルを作成する |
この表の内容をもとに、Codexには次のように伝えます。
- CSVファイルを指定して実行する
- CSVと同じ名前のExcelファイルを作成する
- CSVの値は文字列としてExcelに出力する
- Excelで見やすいように罫線を引く
- コマンドライン引数にはargparseを使う
- CSVの読み込みにはcsvを使う
- ファイルパスの処理にはpathlibを使う
- Excelファイルの作成にはopenpyxlを使う
- エラーが起きたときは分かりやすいメッセージを出す
細かい指示文や作成したコードは、GitHubで公開します。
次回はCodexで作って動かす
今回は、CSVの値を変えずにExcelで確認しやすくするため、どのようなツールを作るのかを整理しました。
CSVをそのままExcelで開く方法もありますが、値が変わる可能性があるなら確認作業として不安が残ります。
次回は、実際にCodexでコードを作ります。
CSVファイルを指定してExcelファイルを作成し、先頭の0がそのまま残るかを確認します。
作成したコードはGitHubでも公開します。