過去の日記

2015-09-08 [長年日記]

てっとりばやくCSV1行分を読みこむ [Python]

CSV系のライブラリって「ファイルを読みこむ」のが多いなぁ。
StringIOでラップしてしまうのがいいかな。
pandasを使って、

import pandas as pd
from StringIO import StringIO
pd.read_csv(StringIO('a,c,d," e ",    f,",", 3'), header=None).values.tolist()[0]
['a', 'c', 'd', ' e ', '    f', ',', 3]

みたいな感じか。
でも、日本語は面倒かも。必要に応じてUTF-8だと思ってdecodeしないといけないのか。


あ、"次の行に続く"ケースがないと事前に分かっている時の話しです。


2015-09-07 [長年日記]

使っていないimport文が勝手に消されてしまうのを回避する [Python]

「importしていること」が必要で「importされたもの」を全然使っていない文があった。

Flaskの起動スクリプトが

from app import app
import views

if __name__ == '__main__':
    app.run()

ってなったのだけど、この import views がそう。
このviews.pyにルーティングが書いてあるのでこのimportは消せない。

消せないけどPyCharmはここが使ってないぞ! というWarningになった。
これでうっかり PyCharm で optimize import してしまうと消えてしまう。困った。いや。困らないけど気持ち悪い。


解決は2つあって

from app import app
import views

__all__ = ['views']

if __name__ == '__main__':
    app.run()

とする。
from xxx import *
した時にインポートされる要素を明示するための記法。これを流用する。

もうひとつは、

from app import app
# noinspection PyUnresolvedReferences
import views

if __name__ == '__main__':
    app.run()

として、インスペクションを抑止するコメント行を書く。
説明と中身が合っていないような気がするが多分私の理解不足だろう。


おきまりで書いてた

if __name__ == '__main__':
    reload(sys)
    sys.setdefaultencoding("utf-8")

なんかも

if __name__ == '__main__':
    reload(sys)
    # noinspection PyUnresolvedReferences
    sys.setdefaultencoding("utf-8")

と書いて抑止できた。


これ、便利っぽいので検索したら書けるかもしれないマークアップの一覧を見つけたのでメモ。

PyCharm suppress inspections list


メモ

def archive_note(pk):
    try:
        note = Note.get(Note.id == pk)
    except Note.DoesNotExist:
        abort(404)
    # noinspection PyUnboundLocalVariable
    note.archived = True
    note.save()
    return jsonify({'success': True})

abort(404) が適切に例外を再raiseする(ハズな)のでtryの下に到達しないのだけど、PyCharmはそれが分からずに「Noteが初期化されてないかもしれないぞ」と言ってくる。tryの上に note = None とか意味ない(=意図をコメント残しておかないといけないような)文を入れて抑止するよりもこれの方がいいかも。


2015-09-06 [長年日記]

不思議TV [book]

2年前の怖いテレビの姉妹巻みたいな感じか。
カタログ的ではなくて、人気があるシリーズに絞っている感じ。
X-Files とプリズナーNO.6が見たくなる。

別冊映画秘宝 不思議TV (洋泉社MOOK 別冊映画秘宝)

  • 出版社/メーカー: 洋泉社
  • 発売: 2015-09-02
  • ASIN: 4800306957
  • メディア: ムック
  • amazon.co.jp詳細へ

2015-08-20 [長年日記]

多々良島ふたたび [novel]

「怪獣ルクスビグラの足型を取った男」がめちゃくちゃ面白い話だったのにオチのしぼみ方がとっても残念で、すごくがっかりした。
「マウンテンピーナッツ」は嫌な方向にリアリスティック。
「影が来る」は本当にウルトラQにありそうだという意味でリアリスティック。
表題作はさすが山本弘さん本当に好きなんだなぁ、という感じが出ていた。

多々良島ふたたび: ウルトラ怪獣アンソロジー (TSUBURAYA×HAYAKAWA UNIVERSE)

  • 作者: 山本 弘,小林 泰三,三津田 信三,田中 啓文,藤崎 慎吾,北野 勇作,酉島 伝法
  • 出版社/メーカー: 早川書房
  • 発売: 2015-07-23
  • ASIN: 4152095555
  • メディア: 単行本
  • amazon.co.jp詳細へ

美森まんじゃしろのサオリさん [novel]

近未来の話にする意味がない……。途中で方向転換があったのか。「今の田舎とは違う世界」が必要だったのか。
物語はたいへん面白かった。

美森まんじゃしろのサオリさん

  • 作者: 小川 一水
  • 出版社/メーカー: 光文社
  • 発売: 2015-06-18
  • ASIN: 4334910300
  • メディア: 単行本(ソフトカバー)
  • amazon.co.jp詳細へ

2015-08-08 [長年日記]

幽霊なんて怖くない BISビブリオバトル部 [novel]

ビブリオバトル部の2冊目。
ビブリオバトルは2回あって、テーマは「恐い話」と「戦争」。
恐い話の回、明日香先輩のテーマはとてもよかった。キャラクタごとに紹介する本のテーマが偏っている、という設定は、物語上のメリットでもあるけどこういう形で発揮されるととても光る。
空が紹介した一篇は、最後の最後に牙を剥いてくるタイプの短編で確かにとても「恐かった」。なんで読んだか思い出せなくて多分借りて読んだんだろうなぁ。

幽霊なんて怖くない BISビブリオバトル部

  • 作者: 山本 弘
  • 出版社/メーカー: 東京創元社
  • 発売: 2015-06-21
  • ASIN: 4488018211
  • メディア: 単行本
  • amazon.co.jp詳細へ


途中、出てくるやりとりが、

「この際だから、あなたに教えておく。外見以外で男子が女子に期待するものは二つしかない」
「二つ?」
「"バカ"と"清純"」

で、

プロジェクトぴあの [novel]

その"バカ"と"清純"からほど遠い結城ぴあのが主人公(ある意味では清純ではあるのだろうけど)。

プロジェクトぴあの

  • 作者: 山本 弘
  • 出版社/メーカー: PHP研究所
  • 発売: 2014-08-19
  • ASIN: 4569820263
  • メディア: 単行本(ソフトカバー)
  • amazon.co.jp詳細へ

地球移動作戦の冒頭、1行で説明されているエピソードを一冊使ってやった話。
"天才"をキチンと書くって結構難しいのだけど、さすが。"マッド"なだけでも、"なんでも知っている"だけでも成り立たない、常人とは隔絶しつつも物語中の人物として魅力的でもあるように書かないといけない。
そういう、難しいラインを見事にクリアしたと思った。
大変面白かった。