csvファイルを読み込んでディクショナリを作成する
Pythonの使い方メモ。csvファイルを読み込んでディクショナリを作成する方法。 以下のような中身のcsvファイル(Month.csv)があり、キーと値がペアで並んでいるとする。
1,january 2,february 3,march 4,april 5,may 6,june 7,july 8,august 9,september 10,october 11,november 12,december
csvモジュールで読み込み、dict()の引数にそのまま渡せばよい。
import csv def readcsv(): file = open("Month.csv", "r") csv_data = csv.reader(file) mydic = dict(csv_data) return mydic if __name__ == "__main__": monthDic = readcsv() for k, v in monthDic.items(): print(k + "=" + v )
実行すると次のようになる。
6=june 8=august 10=october 2=february 5=may 11=november 1=january 3=march 9=september 4=april 12=december 7=july Press any key to continue . . .
CSVファイルとfor文の読み出しでは並び順が一致しないので注意が必要。
Event-B: リファインメント・モデリングに基づく形式手法
2月にEvent-Bを解説した書籍が出ると以前書きましたが、 アマゾンを覗いたら登録されていました。
Event-B: リファインメント・モデリングに基づく形式手法
- 作者: 中島震,來間啓伸
- 出版社/メーカー: 近代科学社
- 発売日: 2015/02/26
- メディア: ムック
- この商品を含むブログを見る
Event-Bについて
EclipseベースのRodinという開発環境を使って検証をする定理証明系のツールである。 日本語で詳しい解説があるのは以下のサイトだが、この記事を書いた時点では更新が止まっている。
形式手法そのものについては以下のサイトに形式手法の概要が説明されており、参考になる。一言に形式手法といっても様々な手法があるようで、対象とする問題によって適性が異なるようだ。
形式手法とは?|ディペンダブル・システムのための形式手法の実践ポータル
株式会社ヴィッツのサイトに話題沸騰ポットをEvent-Bでモデル検証した例題が掲載されている。参考になりそう。
なぜ、こんなものを調べているかというと仕事上でソフト開発をする際、不具合があった場合にプログラムのバグというより仕様上の検討漏れや明確に記述されてない振る舞いが問題となることが多いからだ。コーディングミスやAPIの使い方が間違っているというのは、ユニットテスト、コードレビューや静的チェックツール等で見つかるし、修正することも易しい。
しかし、機能仕様上の問題があとになって見つかると影響する範囲が大きかったりと何かと大変な目にあうことが多い。しかも、たいてい見つかるのは統合テスト以降で開発期限まで時間があまり残されていない場合である。
最近は早めにリリースして動かしながら改良していくというスタイルが主流らしい。多少バグがあっても他社よりサービスを早くリリースする方が大事と判断することもあるだろう。
ウェブサービス系はそれでいいとしても、自動車、航空、医療の組み込みや金融などのバグが許されないソフトではそうはいかない。一度不具合が出ればオオゴトである。そのような用途に使われるソフトであれば手間のかかる形式手法による検証をする価値があるというものである。
数理的に組み込みソフトを開発する方法
形式手法を理解するためのよい資料を見つけたので自分用にブックマーク。
しかし、リンク先URLを入れるだけでスライドが埋め込みで表示されるなんてすごいな。
Embedded-Note lagavulin1956: 形式手法あれこれ
組み込みソフトへの数理的アプローチ―形式手法によるソフトウェアの仕様記述と検証 (COMPUTER TECHNOLOGY)
- 作者: 藤倉俊幸
- 出版社/メーカー: CQ出版
- 発売日: 2012/04
- メディア: 単行本
- クリック: 8回
- この商品を含むブログ (1件) を見る
Event-Bの本が出るらしい。
Event-Bとは形式手法の1つ。Bメソッドと呼ばれるものがベースになっている。
仕事がら形式手法について興味があるのだが、Event-Bは今まで日本語で書籍が出ていない。これはちょっと気になる。 Event-Bについて日本語で比較的まとまった情報があるのはこちら。
開発環境にEclipseベースのRodinというものがある。公式のガイドブックがあり、そちらにはけっこう詳細な解説があるのだが当然英語。
ちょっと敷居が高い。この本はRodinの使い方とかにも触れているのかなぁ。
形式手法自体、2,3年前に注目が集まったのだがその後さっぱり話題に上らないところみるとまだ研究段階で実用にならないのかなぁといった感じ。
冬のお風呂
うちは賃貸アパートに嫁さんと二人で住んでいるのだが、お風呂が風呂釜がなく、追い炊きできないタイプ。
二人とも共働きで、帰ってくる時間が嫁さんはほぼ定時帰り、自分は遅くなりがち。だが、嫁さんは帰ってきてすぐに風呂に入りたいタイプで帰宅後すぐにお風呂を沸かす。なので、夜自分が帰ってくるころにはお風呂はすっかり冷めているといった具合で、いつもお湯を入れなおすか、大量の足し湯をするので光熱費を考えるとなんとかならんかなぁ・・・となやんでいたところ見つけたのがこのフロバンス。
- 出版社/メーカー: パアグ
- メディア: ホーム&キッチン
- 購入: 2人 クリック: 48回
- この商品を含むブログ (2件) を見る
一言でいえば風呂用の電気ヒータでお風呂を保温してくれる。ほかにも類似商品があったがレビューの評価が高かったのでこちらの商品にした。
お風呂に入れ、ヒーターのスイッチを入れるだけの簡単操作。温度設定すらできないはイマイチだが、少し熱めに保温してくれるのでぬるいといったことはない。以下気になる点をいくつか。
- 取り出す際はスイッチを切って2分経ってから出さないとヒーターを痛めるとのこと。
- 冬に朝風呂入ろうとして前日の残り湯にフロバンスを入れたらお湯になるまで5時間かかった。沸かし直しはできないこともないが正直使えない。夏ならなんとか。
- 風呂のサイズや寒さの厳しい地方など状況次第では保温できないといったレビューが見受けられた。うちのアパートの少々狭い風呂ではそういったことはない。
- 入浴剤を入れたお湯には使えない。
追い炊きできない風呂なのに入る時間がバラバラで困っている人にはオススメだと思います。買って一年経っていますが故障もなし(夏場は使ってません)。
Markdownエディタ
はてなブログはMarkdown形式で記述ができる。なるべく簡単にいきたいということで覚えやすい(と思った)Markdown形式を使って書いていくことにした。
ただ、テキストエディタで書いていくのも大変なのでWindows用で使いやすいエディタがないか探したところ、CuteMarkEdというソフトを見つけた。
CuteMarkEd - The open source, cross-platform Markdown editor
良いところは
- メニュー等日本語に翻訳されている。
- オーソドックスな2ペインでリアルタイムプレビューに対応
- HTML,PDFでのエクスポートが可能
- スタイルを指定することができる。初期状態からいくつかのスタイルが用意されている。(Githubなど)
- Ctrl-Spaceでコードスニペットが使える。初期状態でいくつか登録されている。
気になった点
- ファイルが大きくなるにつれて動作が重くなる。環境にもよるだろうが自分のPCでは500行くらいからもたつきを感じる。
- プレビュー側とエディタ側の表示がずれる。
- コードスニペットが行頭でしか動かない。
少々不満もあるが、他によいエディタもなさそうなのでしばらくはこれを使って行こうと思う。現時点でバージョンはVer0.10.0である。上記の点が改善されるとよいなぁ。