ExcelでA1セルにIDとか書いてはいけない件
アカウントをCSV形式のファイルで管理したいときにA1セルに"ID",B1セルに"PASSWORD"などと列名を書いておくことはよくあると思うのだけど、A1セルに"ID"と書かれているとExcelで開いたときに「SYLK:ファイル形式が正しくありません。」というエラーメッセージが表示される。("ID_xxxx"でも同様のエラーメッセージが表示される)
たぶんいまどき誰も知らないと思うけどSYLK形式というのはExcelの前身であるMultiplan(1982年〜)の形式である。
ちなみにExcel 2011(Mac版)、Excel 2012(Windows版 来年1月発売予定?)でも動作を確認してみたが、A1セルに"ID"と書かれていると上記のエラーメッセージが表示される。迷惑極まりない。
誰がいまどきSYLK形式のデータを使っているというのか…。
そもそもファイルの拡張子がCSVとなっているではないか。拡張子を見てくれよ、拡張子!
※ ↓に補足記事を書きました。こちらも併せてどうぞー。
http://d.hatena.ne.jp/yaneurao/20121206#p7
4TBのHDDが安すぎるんですけど…
4TBの内蔵HDDはまだ2万円以上して、3TBの内蔵HDDが1万円前後で買える現状からすると割高感がある。
ところが、USB接続の4TBのHDDですごく安いのを見つけた。HGST Touro Desk Pro TV Black 外付けハードディスク 4TB 回転数7,200rpm 0S03537 (asin:B0095PRIZ6)である。現在Amazonにて17,930円。3TBのUSB接続のHDDが13000円程度であることからすると、特に高く感じない。もしかして、この中身を取り出して内蔵HDDとして転売したら儲かるんじゃないかとか思ってしまうのだが…。
※ 上記のリンク、なぜかはてなダイアリーだと「指定されたASINに該当する商品は、登録されていませんでした。」のページになってしまうようなので↓のリンクをどうぞ。
http://www.amazon.co.jp/exec/obidos/ASIN/B0095PRIZ6/aaaaab0c-22/ref=nosim
スーパープログラマーへの道がいまごろはてブされまくっている件
最近知ったのだが、10年ぐらい前に書き散らした、私の黒歴史(?)とも言うべき、「スーパープログラマーへの道」がいまごろになってはてなブックマークされまくっているのだ。(現在、430users)
http://b.hatena.ne.jp/entry/bm98.yaneu.com/rsp/loglist.html
10年も前に書いたものがいまさらこんなにはてブされるということがあり得るのだろうか…。にわかに信じがたい。
何がどうなったのかさっぱりわからないが、きっとどこか大手の会社さんの組織票なのではないろうか。
「やねうらおさんは豚もおだてりゃ木に登るってな感じの性格なので、これくらい喜ばせておけばいい仕事しよるだろ!」とか言うことなのだろうか…。
どこの会社の組織票かは存じませんが、本当にありがとうございます。(木に登ってきます)
CSV形式でデータを出力するときのバッドノウハウ
ExcelでA1セルにIDとか書いてはいけない件
http://d.hatena.ne.jp/yaneurao/20121206#p4
上記の記事がtwitterで話題になっているようなので少し補足します。
エラーメッセージとして、以下のダイアログが出ますが、「はい」→「OK」と押せば開くことは出来ます。
いまどき誰もSYLK形式なんて知らないでしょうから、こんなダイアログ出されましても…という部分を私は問題にしています。
また、CSV形式はダブルクォーテーション記号( " )で囲むことにより、エスケープする機能がありますから、IDという文字列の両端にこの記号をつけておけばこのダイアログが出るのは回避できます。(要するにバイナリで見たときに1バイト目に "I" 、2バイト目に "D" という文字列が来ていなければこのダイアログは出ません。)
そこで、CSV形式で出力するプログラムを書く場合、最初のデータ(A1セルに相当する部分)が ID という文字列で始まるならその両端にダブルクォーテーション記号を付与するというバッドノウハウが必要になるわけです。
例) IDABC,123 → "IDABC",123
このように、なかなか一筋縄ではいかないのがCSV形式なんです。