CSVはシンプルな書式のため、いろいろなところで利用されますが、これまた便利なExcelで開いた結果、元の情報が削られてしまうことが多く発生します。
- 「0123」のような、最初の0が消えてしまう
- 数字が変な形式になってしまう
- 勝手に日付になってしまう
など。
コッチは単純に列を追加したり入れ替えたりしたいだけなのに・・・
ってこともよくありますよね!
まずはベーシックな、「CSVをExcelで開いて文字列のまま保存する」方法を記録しておきます。
"番号","日付","長い数字","前ゼロ"
"123","2022-12-29","1234567890123","098765"
こんなCSVを用意して、普通にExcelで開くと、
む? ってなりますよね・・・。
なんの気なしにこのまま保存してしまうと
番号,日付,長い数字,前ゼロ
123,2022/12/29,1.23457E+12,98765
こうなってしまいます。悲しい話です。
なので、ひとまず「文字列のまま利用する」ということをやってみます。
個人的にいろいろ試して簡単だったのは、「データ」→「データの取得:テキストまたはCSVから」でデータの取り込みを行う方法です。
※操作がラクなのでとりあえずCSVを開いてからデータの取り込みをしていますが、Excelを新規に起動してから行ってもよいです。
インポートして
「データの変換」をクリックします。
そうするとPower Query エディタ―が起動します。
かなり強力なツールなのでいろいろ面白いのですが今回は割愛して、文字列変換のみにしましょう。
右の「適用したステップ」から「変更された型」を削除します。
要は、Excelが良かれと思ってやってくれた型変換を戻すだけなんですね。
「閉じて読み込む」をクリックして読み直します。
CSVを開いたところから作業を始めた場合は、このまま上書き保存することもできます。
Excelを新規で開いたりとか「名前を付けて保存」とかした場合は、「複数シートがあるよ」と
警告が出ますが「OK」ボタンを押せば該当のシートを保存できます。
CSVを扱うのにひと手間かかってしまいますが、Power Query エディターで絞り込んでからCSV保存、といったこともできます。
いろいろやる作業の一部と考えれば価値はあるのではないでしょうか。
お役に立てればなによりです。