読者です 読者をやめる 読者になる 読者になる

ぼちぼち書くブログ

日記とかうまいもんとかパソコンのことをマイペースで記します。高知市に住んでいるので地元の情報も投稿します。

CSVファイルに関してはExcelの挙動はバカちん~MSがCSVファイルの扱いを重要視していないのがよくわかります

ツール PC PC-Windows PC-ソフトウェア

CSVファイルネタばっかりで面白くないかも知れませんが、一応自分の為にも記しているので備忘録なのでご了承下さい。

MS-Officeをインストールしている環境では、拡張子.csvファイルはダブルクリックすると、通常Excelに関連づけられているのでそのままExcelがファイルを開く。この挙動に関しては問題ない。開いてくれるという事に関しては。

しかし、Excelは余計なことをし過ぎである。

例えば、"00001"という文字列を勝手に"1"という値にしてしまったり、JANコードの為の列見出し"JAN1"を1月1日と認識してくれたり。

超お節介である。

CSVファイルなんだから、テキストデータとして処理させろ!仕様に問題アリアリじゃ。少なくともOffice2003では解決していない。

では具体的にどうすればCSVファイルをテキストデータとして取り込めるか?おしえて系のサイトでしばしば出てくるこの問題、めんどくさいが難しくはないので一応CSVをExcelで扱うにはストレスを覚悟しろと自戒する意味で記しておく。

方法1

対象となるCSVファイルの拡張子を一度、.txtに変更して、Excelから開く(通常はフィルタがかかっていて見えないのでファイルの種類を変更すること)と、CSV取り込みウィザードが起動するので、そこでFSをカンマにしたり、列見出しを取り込むとか、データ形式をテキストでとかめんどくさいステップを踏む。

方法2

[データ]-[外部データの取り込み]-[データの取り込み]で、今開いているシートにデータを取り込む方法。同様にウィザードを使って面倒なステップを踏む必要がある。

つまり、ExcelはCSVファイルを扱う事に関してはバカちんな仕様だということ。それでも表形式で編集出来る点では、Excelを使いたくなるのが現実。Microsoft社が仕様を見直してくれるのを待つしかない(2007/2010で変更になっていたらすみません)。

OpenOfficeのCalcがもうちょっと賢く、そして安定してくれたらいいのにと思うけど、SUNがOracleに買収された時からもう諦めました。CSVファイルを編集するには、高機能なテキストエディタか、awkで処理するのがやっぱり自分には向いていると思っています。基本的にテキストデータですからね