咲-Saki-DB開発は遅々として進捗せず、その原因の8割がたはNSの無能と怠惰でしかないわけですが、今日は残り2割について記事を書きます。


基本的なデータはテキストファイルにこんな感じで保存しています。
姓,名,姓ヨミ,名ヨミ,所属など,世代,誕生日,身長,血液型,声優
宮永,咲,みやなが,さき,清澄高校1年,61,10/27,155,,植田佳奈
原村,和,はらむら,のどか,清澄高校1年,61,10/04,154,,小清水亜美
片岡,優希,かたおか,ゆうき,清澄高校1年,61,09/16,143,,釘宮理恵
竹井,久,たけい,ひさ,清澄高校3年・部長,59,11/13,164,,伊藤静
染谷,まこ,そめや,まこ,清澄高校2年,60,05/05,158,,白石涼子
今現在220ぐらいのデータがこんな風に並んでいて、これをJavaScriptのプログラムで読み込み、配列に格納していろんな処理をするという、特に工夫のない簡単そうな案件…のはずでした。
正直、データ入力は面倒です。
神のHPの表に掲載してある分はコピペで済みました。
キャラクター一覧表のデータを選択してコピペすると、ちゃんと一行ごとに改行が入り、項目はタブ文字で区切られているので、タブを , (コンマ)に置換してやると、そのまま上のような表示になります。
なぜコンマで区切る仕様にしたかというと、前に作った(完成したとは言ってない)牌画表示プログラムで使う牌コードというコードをコンマ区切り仕様にしたので、それを踏襲したのです。

そのあとネットでCSVというテキストファイルの保存形式を知り、それがまさに同じものだったので若干びっくりしたんですが、まあテキストエディタでちょちょいと編集できるようなデータファイルだと楽だなあ…というのは誰もが思うことですからね。
しかし楽だなあ、と言ってもメモ帳に手作業でデータを追加するのはなかなか面倒。
桁も揃ってないし、コンマをタブに戻すと多少は見易くなるけれど、メモ帳のタブの桁数が8桁って、広すぎんよ…と思っていたところ、別件でネットを調べていたら、EXCELがこのCSVに対応しているという情報が目に入りました。
さっそくファイルの拡張子を txt から csv に変えてみました。
するとデータファイルのアイコンが、EXCELファイルのアイコンっぽく変化。

fileicon

いーねいーねとアイコンをダブルクリックすると、EXCELが起動し、上のごちゃごちゃした表示が、あの整然としたテーブルに取り込まれて表示されたではありませんか。

fileview

EXCELで表作成をする感覚でデータが編集できる!
おしCSV(こいつ)で行こう!勝ったねコレ!

ん?

fileview2

…ナニコレ

誕生日データの表示形式が、10/27 → 10月27日 のように変化しています。
しかもセル内の実体を参照すると、2015/10/27 と、余分な西暦がくっついています。
そう言やセルの表示形式を「日付」に指定すると確かこうなるんだったよな…今までは実害がなかったからあんまり気に留めてなかったけど。
ほかにも 05/05 が 2015/5/5、のように、頭のゼロが外されています。
いやいやいやいや EXCELはん、ちょっと失礼…
と、念のため別名で保存してみたところ、

fileview3

編集を一切していないにも拘らず、
すべての誕生日データが書き換わっている
ではありませんか!
それも、先ほどの実体データではなく、漢字の月日つき書式に。
いやなにこれ?
と、とりあえず誕生日の列の「セルの表示形式」がなぜか「ユーザー定義 m"月"d"日"」になっているのを「文字列」に設定し直してみます。 すると…

ファッ!?

fileview4

Do you 事ですか?(大困惑)

EXCELの知らなかった一面。
余計なお世話機能
頭に@とかつけて強引に文字列として認識させるとか、裏技的なのはなるべく避けたい。
正規表現でなんとかならないのか?
オプションやら設定やらをいじっても、どうにもこの現象が回避できません。

ハァ~…グーグル先生、お願いします。

excel csv 日付データが勝手に  

で検索すると…
そこには、ものすごい数(約30800件)の怨嗟の声が渦巻いていました。
WEB技術者の敵は InternetExplorer だけではなかった。
EXCELもまた、彼らに貴重な時間を消耗させる問題児だったのです。
その一例。
久光工房 | EXCELの謎仕様には涙が止まらない
この記事は、涙なくして読めません。
日附以外にも、数値表記や引用符に関わる、EXCELの常軌を逸した振る舞いが告発されています。

NSみたいに完全に趣味でやってる分にはまあいいんですよ。
愉快な気持ちにはなれませんが、時間を無駄にしても人様に迷惑かかるわけでもなし、嫌ならいつでもやめられるんですから。
でも、コレで食べてる人たちには納期があり、クライアントの期待があり、会社とかの信用もかかっています。
こんな下らない「謎仕様」のために、過去どれだけの悔し涙が流されたか…
Microsoft社の罪は重い、と断ぜざるを得ぬえす!(台無し)

というわけで、EXCELのヤローが(CSVにおいて)使えない奴だとわかったので、またグーグル先生に相談しました。

csv フリーエディタ  

すると、先生はたちどころに答えて下さいました。
CSVファイルをテーブルとして表示してくれて、しかもEXCELに比べても遜色のない多機能な、何より決して余計なことはしないフリーソフトを、たくさん紹介して下さったのです。

うん、今そのうちのひとりとつき合い始めたところさ。
紹介するよ、Cassava Editorちゃんさ。

fileview5

パッと見素朴だけど、それでいてさらっと何でもやりこなすし、スリムだし、何より決して余計なことはしない控え目な性格が最高さ。
たぶん、これからずっとつき合うことになると思う。
え?いやそういう意味じゃなくてホラ俺にはすこやんがいるしね?
まあ…無くは無いってくらいだな!