Pythonで、WebAPIからCSV出力する方法をご紹介します。
WebAPIから抽出項目を絞って、指定件数をCSV出力します。
ぜひお試しください!
WebAPIからCSV出力(ホットペッパー)
以下のコードを実行すると、APIを読み込んでCSVデータでダウンロードします。
import requests
import json
import pandas as pd
URL='http://webservice.recruit.co.jp/hotpepper/gourmet/v1/'
API_KEY='xxx'
params={
'key':API_KEY,
'keyword':'北海道',
'count':50,
'format':'json'
}
res=requests.get(URL,params)
result=res.json()
items=result['results']['shop']
df=pd.DataFrame(items)
#CSV出力する項目
df=df[['name','address','wifi']]
#先頭以外をCSV出力
df.to_csv('test.csv',index=False,encoding='utf_8_sig')
コード実行後
実行したPythonファイルと同じフォルダに、
「test.csv」が作成されます。
df=df[[‘name’,’address’,’wifi’]] で、指定した項目をCSV出力します。
(下図はA列の店名部分を、ぼかしてあります。)
[encoding=’utf_8_sig’] を入れないと、CSVが文字化けしました。
WebAPIからCSV出力(楽天)
以下のコードを実行すると、APIを読み込んでCSVデータでダウンロードします。
import requests
import json
import pandas as pd
#楽天API
URL='https://app.rakuten.co.jp/services/api/IchibaItem/Search/20170706'
API_KEY='xxx'
#パラメータ
params={
'applicationId':API_KEY,
'keyword':'コップ',
'minPrice':1000,
'count':10,
'format':'json'
}
res=requests.get(URL,params)
result=res.json()
items=result['Items']
items = [item['Item'] for item in items]
df=pd.DataFrame(items)[:3]
#CSV出力する項目
columns=['itemCode','itemName','itemPrice', 'shopCode']
df=df[columns]
#並び替え
df.sort_values('itemPrice',ascending=False, inplace=True)
#先頭以外をCSV出力
df.to_csv('test.csv',index=False,encoding='utf_8_sig')
コード実行後
実行したPythonファイルと同じフォルダに、
「test.csv」が作成されます。
columns=[‘itemCode’,’itemName’,’itemPrice’, ‘shopCode’] で、
指定した項目をCSV出力します。
[inplace=True] を入れないと、並び替えされませんでした。
※事前にAPIキーを取得しておく必要があります。
勉強中なので、不要なコードがあるかもしれません(;´Д`)
この記事がお役に立ちますと幸いです。
Python:Google Sheets APIでスプレッドシート操作・書式設定
...
「Python[完全]入門」
「この一冊で」しっかりやさしく学べるPythonの教科書
はじめてプログラムを行う人でも安心して読み進められる!
リンク