環境
- MBP Late 2016 (Touch Bar 13-inch)
- PyCharm Community Edition
- Python 2.7 (Default)
書いたコード
- 適当なHTMLのtableからデータを取ってJson出力したい
import pandas
url = 'http://npb.jp/announcement/roster/roster_0605.html'
df = pandas.io.html.read_html(url)
df[3].to_json('roster_0605.json', force_ascii=False)
とれたデータ
{
"0": {
"0": "千葉ロッテマリーンズ",
"1": "東北楽天ゴールデンイーグルス"
},
"1": {
"0": "投手",
"1": "投手"
},
"2": {
"0": 67,
"1": 22
},
"3": {
"0": "金森 敬之",
"1": "戸村 健次"
}
}
遭遇したエラー
- そもそもライブラリが全然足りていなかったので、スクレイピング関連を一式インポートした
- PyCharm -> File -> Default Settings -> Project Interpreter の「+」で追加
- pandas, lxml, html5lib, beautifulsoup4, six
- その後、以下が発生
ImportError: cannot import name viewkeys
- ぐぐったら、sixが古いっぽい。更新して解決。
cd /Library/Python/2.7/site-packages
sudo -H pip install six==1.10.0 -t .