集計秘話
今回のアンケートへの投稿は、テキストファイルになって蓄積されています。これを投票別の「一覧表」の形に整形するのが集計の第一歩。数百件にもなると、いちいち手作業で縦横に展開するのはやってられんわけで、何らかのプログラムに頼ろう、というのは至極自然な発想です。最終的にExcelで作業する事になるので、今回もExcelのマクロ、いわゆるVBAを使って展開を行う事にしました。以前に同じような事はしたことがありましたので、マクロ自体はさくさくと作り終えまして、さて試運転、という段階になったわけです。
ところが、動かしてみると一件もデータが展開されません。マクロ自体はエラーも起こさずに最後まで走りますし、何回か検証してみると、元のテキストファイルは読み込んできっちり全体をサーチしてデータを探す作業自体はしているんです。でも、一件もExcelシート上に出て来ない。すんごく悩みましたよ。なんでだ?致命的な欠陥はどこにあるんだ?
ようやく辿り着いた答えは、「文字コード」でした。Excelは「Shift-JIS」というコードで読み込んでいたのですが、元のテキストファイルは「JIS」だったのですね。つまり、Excelに読み込まれた時点で内容は激しく文字化けしており、どれがどのデータに属する部分か全く判別できなくなっていたのです。
これを解決するために、正攻法なら「ExcelでテキストファイルをJISで読み込む」というプログラムに変更するべきなのでしょうが、そんな面倒そうな事をうんうん唸りながら調べるのはイヤだったので(この辺がヘタレの真骨頂w)、手っ取り早く「元のテキストファイルをShft-JISで保存し直す」という方向を検討(笑)。これはあっさりと解決しました。文字コードを判別できるようなフリーのエディタで、文字コードを変更して保存し直せば一瞬です。私が普段使っている「Terapad」というエディタにもその機能がありましたが、同様のものは他にもありそうですね。
そう言えば、と思ってこのブログの文字コードを調べてみると、意外や意外、「EUC」というコードでした。ブログって、自分で書くのは文章だけで、htmlファイルはサーバが自動生成しているので、あまりこういう部分は意識してないんですよね。万が一、ソースが文字化けするーなんていう時は、ブラウザでいったんページを保存した後、上記のような「コードを判別できるエディタ」で開くといいのでしょう。って、これは集計作業とは関係ありませんね。
こうして、無事データを展開する仕組みは完成し、それ自体はもうだいぶ前から元気に私の手元で動いております。問題は、展開後のデータを分析する方なんですが、こればかりは色々と試行錯誤しながら自分で作って行かなきゃいけません。あと一ヶ月もあるから大丈夫サーとか思ってましたけど、もう5日ぐらいしかないんだナー。夏休みの終わりを目の前にした小学生の気分だよ…。orz
現在の想定スケジュールは、23日か24日に単純集計結果をうp。その後、週一ぐらいのペースで、詳細分析結果を小出しにしていければと思っております。まだ確約できませんけどね。あと、監督ファンBBSへのお願い投下は、今のところ完全に無駄に終わりそうな気配が濃厚で、かなり悲しいです…身から出たサビだよね、コレ…。
それはさておき文字エンコードって、ややこしいですよね。私はすっかりその辺をOSやらなんやらのソフト任せにしっぱなしなので、文字化けが起こると症候状態に陥ってしまうです。最近になって『表示』の設定をいじれば何とかなる事もあるということだけ理解できたのですが、それだけで解決できるわけではないようですね。
何はともあれ、お疲れ様です。
ではでは
文字コードの話は、本職のプログラマでも結構やっかいな問題らしく、私如きが一朝一夕でどうこうできるような問題ではないようです。Shift-JISの中でも何度かコードの改訂が行われているそうで、そこの整合性を取るのはかなりしんどいのだとか。将来的にはUNICODE体系に統合されていくのかもしれませんが、まだここ数年ぐらいは入り交じった世界から脱却できそうにありませんね。情報リテラシー(笑)を高めてユーザー側で工夫する以外、道はなさそうです。
集計の方は、予定通り行くかどうか非常に微妙です(今日も結局何もしてません)が、投げ出さずにやっていこうと思いますので、生暖かく見守って下さいませ。ではでは。


