Pythonで日銀のETF買いを取る

日銀のetf購入はzipで発表されている。なんでzipやねんという声がありますが、zipなもの仕方がない。zipの開き方を教えていただいたので、記録ついでに書いておきます。教えてもらったら超簡単だったけど、イマイチ意味はわかっていない。

import requests
from io import BytesIO
import zipfile
import pandas as pd

url = 'http://www3.boj.or.jp/market/jp/etfreit.zip'
res = requests.get(url)
zipdata = BytesIO()
zipdata.write(res.content)
input_zip = zipfile.ZipFile(zipdata)

df = pd.read_excel(BytesIO(input_zip.read('2016.xls')))

これでデータフレームの中に2016年4月からの購入ヒストリカルが入ります。で、これを整頓すると、集計とか簡単にできます。 etfを買ったコラムをetf_buyという名前にしたとすると、

df.loc['2016-10','etf_buy'].count()

で日銀の10月の購入回数がわかりますね。4回です。でcount()をsum()にすると購入金額2,828億円がわかります。 BytesIOが何をやっているのかわからないので、ドキュメントを読んでみましたが、さっぱりわからない。あと、 標準ライブラリがたくさんあってびっくりしました。というか全然知らんなぁ。