Python

<Python> 日付を整える。

日付dateを整える。 具体的には、一桁の日を二桁表示にする。 一回整えたい対象の日付を、datetime.datetime.strptime()で読み込み、 datetimeオブジェクト化して、それをstrftime()で、ぺっと吐き出す。 In [205]: from datetime import datetime as dt In …

<iPython, html> HTMLの表示

ipython notebookでHTMLを表示する方法。 s = '<p>Hage</b>' from IPython.display import HTML html = HTML(s) html

<Python, json> json.loads で文字のリストを読み込む場合、、、

文字列化strしているリストlistで、 リストの中身が文字のものを、 json.loadsする場合。 例。 In [126]: a = "['a','b']" In [127]: json.loads(a) --------------------------------------------------------------------------- : JSONDecodeError: Expec…

<Beautiful Soup> div + class + id での検索

divタグとid属性とclass属性を使った検索。 findAll()の引数argvのattrsにディクショナリdictを渡す。 In [47]: import requests In [48]: from bs4 import BeautifulSoup In [49]: url = 'http://nekoyukimmm.hatenablog.com/entry/2016/06/18/230837' In […

<Python, requests> requestsだって。

urlibでなく、requestsの方がナウいそうだ。 stackoverflow.com qiita.com 確かに簡単。 マニュアル。 Requests: HTTP for Humans — Requests 2.10.0 documentation

<Python, Linux> csvkit をいれた。

msys2の方にcsvkitを入れた。 pip install csvkit これで、csvlook csvcut やりたい放題。 マニュアル。 csvkit 0.9.1 — csvkit 0.9.1 documentation まとめ。 csvkitの使い方まとめ - Qiita

<Python, pandas> ix / iloc / loc の違い

パンダさんのデータフレームpandas.DataFrameで、 ixとilocとlocの違い。 DataFrameが空emptyの場合、locさんだけは、データを追加できる! 例。 まずは、空のDataFrame作成。 In [63]: import pandas as pd In [64]: df = pd.DataFrame() In [65]: df Out[6…

<Python> ファイル名のリスト + 時刻でソート

ファイル名fileのリストlistで、時刻timeでソートsort。 glob()とかos.listdir()はどうも順番が適当らしいので、うまくない。 いつものごとく、スタックさんに助けを乞う。 stackoverflow.com このうち、ちと、リストの内包表記に代えてみた。 まずは、ファ…

<Python> 文字コードのめも

python3の場合、文字列は、うにこーどunicodeのコードポイントを並べたもの とのこと。 ようは、UTF-8のことらしい。 python2とは違うので注意!。 python2の例を参考するとはまる。 ファイルとかに書きだすということは、文字列をエンコードすることになる…

<Python, datetime> 現在の時刻を取得。

現在の時刻、今nowの時間timeを取得する。 In [27]: from datetime import datetime as dt In [28]: dt.now() Out[28]: datetime.datetime(2016, 7, 1, 11, 34, 44, 763319) In [29]: dt.now().strftime('%Y/%m/%d %H:%M:%S') Out[29]: '2016/07/01 11:35:21…

<Python, pandas> 要素が全て同じカラムを削る。

要素elementが全て同じカラムcolumnを削る。 2つ技あり。.isin()と.applymap()。 まずはベースのデータフレームDataFrame作成。 In [1]: import pandas as pd In [3]: df = pd.DataFrame({'a':[1,2,'a'],'b':['a','a','a'],'c':['ab','ab','ab']}) In [4]: …

<Python, pandas> 文字列を空白で分割して、新たなカラムを作成する。

データフレームDataFrameの中に取り込んだ文字列strを、 空白blankで分割splitして、新たなカラムcolumnを作成する。 In [73]: import pandas as pd In [74]: import io In [75]: s = ''' ...: 1 aaa AAA ...: 2 bbb BBB ...: 3 ccc CCC ...: ''' In [80]: d…

<Python, pandas> DataFrame.query()で変数を使う場合

.query()(grepみたいなもの)で変数を使う場合。 @を使う。 例。 In [100]: df = pd.DataFrame({'a':[1,2,'X'],'b':[4,'X',5]}) In [101]: df Out[101]: a b 0 1 4 1 2 X 2 X 5 In [102]: df.query('a == "X"') Out[102]: a b 2 X 5 In [103]: s = 'X' In […

<Python, pandas> lambda + if

lambda式に条件を追加する場合。 例。 In [77]: f = lambda x: str(x).replace('X', '') if type(x) == str else x という風に書く。 ちなみに、elseを省くと、、、 In [78]: f = lambda x: str(x).replace('X', '') if type(x) == str File "<ipython-input-78-05daadfaf1eb>", line 1 f = </ipython-input-78-05daadfaf1eb>…

<Python, flask> checkboxが1つの場合

htmlのformでcheckboxが1つの場合のrequest.args.getの返し。 チェックされてると、onが返る。。。 (いや、はまったなー。。。) 例: <form action="" method="GET"> <input type="checkbox" name="hage">&nbsp;Hage ? </form> で、 @app.route('/', method=['GET']) def index(): hage = request.args.get('hage', default='', ty…

<Python, BeautifulSoup> 正規表現でマッチ

BeautifulSoupでタグtagを検索する時、正規表現regexpする方法。 こういうxmlデータがあったとき。 In [37]: s = ''' ...: <data> ...: <aaa>1</aaa> ...: <bbb>2</bbb> ...: <c55>3</c55> ...: </data> ...: ''' スープして、 In [38]: from bs4 import BeautifulSoup In [39]: soup = BeautifulSoup(s, 'x…

<Python> ファイルを読み込む。

いつも忘れるので、メモ。 ファイルfileを読み込む方法。 3つあって、read()か、readlines()か、readline()。 例。 まずは、ファイル作成。 In [35]: aaa = ''' ...: a ...: b ...: c ...: d ...: e ...: ''' In [37]: with open('aaa.txt', 'w') as f: ...…

<Python, pandas> 列が一定でないデータを読み込む時、、

pandasさんで、列columnが一定でないデータを読み込むとエラーをはく。 In [18]: csv_data = ''' ...: 1,2,3,4,5 ...: 1,2,3, ...: 1,2,3,4,5,6 ...: ''' In [19]: df = pd.read_csv(io.StringIO(csv_data)) ----------------------------------------------…

<Python, flask> クッキー

flaskさんで、クッキーcookieしてみた。 まずはコードを書き書き。 from flask import Flask, make_response, request app = Flask(__name__) @app.route('/set') def set(): response = make_response('hage-') response.set_cookie('cookie_name', 'hige--…

<Python, json> ダンプとロード

jsonのダンプdumpsとロードloads。 Flaskさんで、クッキーcookieをする時、 必要なディクショナリdictionaryをどうやって渡すもんかと悩んでた時に、 これを使えばいいんじゃーんと。。 まずはjson化(ダンプ) In [35]: import json In [36]: dict = {'a':'…

<Python> lsコマンド

lsを実行して、ディレクトリdirectoryのファイルfileをゲットする。 subprocessを使う。 その1 .check_out() In [1]: import subprocess In [2]: subprocess.check_output('ls', shell=True) Out[2]: b'aaa.html\nbbb2.html\nccc.csv\n' ということで、なん…

<pandas, regexp> パンダさんと正規表現を使って置換

pandasのapply()で正規表現regexpを使った置換。 まずは、セットアップ。 In [1]: import pandas as pd In [2]: import re In [3]: df = pd.DataFrame([ ...: '(00001) hage', ...: '(00002) hige', ...: '(02000) taro', ...: '(12345) jiro', ...: ]) In […

<jinja, pandas> pandasでjinjaをちょっと。

pandasでjinjaをちょっとやってみた。 pandasのシリーズSeriesの要素を順に並べる。 まず、importして、jinjaのテンプレートtemplateを作る。 In [109]: import pandas as pd In [110]: from jinja2 import Template In [111]: df = pd.DataFrame({'a':[1,2,…

<Flask, socket> ホストネーム表示

ホストネーム hostnameの表示。 In [9]: from flask import Flask In [10]: import socket In [11]: app = Flask(__name__) In [12]: @app.route('/') ...: def aaa(): ...: return socket.gethostname() ...: In [13]: app.run()

<socket, Python> ソケット通信

ソケット socket 通信。 サーバ側の動作は、 IPアドレス IP address と、ポート port をソケット socket に結びつけて bind 、 通信を待ち受けるバッファを用意 listen して、待つ accept。 らしい。 ソケット入門(1) Pythonでネットワークプログラミング …

<Python, pandas> イタレータの要素を少しのぞく

イタレータiteraterの要素を確認する方法。 リスト内包表記で確認してたけど、next()が使えるらしい。 内包表記。 In [1]: import pandas as pd In [2]: df = pd.DataFrame({'a':[1,2,3],'b':[4,5,6],'c':[7,8,9]}) In [3]: df Out[3]: a b c 0 1 4 7 1 2 5 …

<Python, pandas> カラムを削除する。

列/カラムcolumnを削除deleteする。 delだと思ったてけど、.drop()が使えるらしい。 In [1]: import pandas as pd In [2]: df = pd.DataFrame({'a':[1,2,3],'b':[4,5,6],'c':[7,8,9]}) In [3]: df Out[3]: a b c 0 1 4 7 1 2 5 8 2 3 6 9 delの場合。 In [4]…

<Python, flask> 13b

みげるっちのFlask Web Development を勉強中。 github.com 手っ取り早く、だいたいブログが出来上がった、 13bからスタートするために、いくつかメモ。 その1 git チェックアウトする。 >git clone https://github.com/migelgrinberg/flasky >cd flasky >g…

<Python> プログレスバー

プログレスバー progress bar 見つけた。(進捗がわかるやつ) github.com

<Python, Markdown, Pygments> markdown + Pygments の使い方。

ようやくわかったのでメモ。 markdownモジュールを使って、markdownをhtmlに変換。 それをsyntax highlight効かして表示するには、Pygmentsのcssを埋め込まないといけんらしい。 ipython notebookでちと試す。 In [1]: from markdown import markdown In [2]…