【Python】WebAPIからCSV出力:Pandas使用

Python-WebAPIからCSV出力-アイキャッチ Python

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] を入れないと、並び替えされませんでした。

Python-WebAPIから出力したCSVデータ
 
※事前にAPIキーを取得しておく必要があります。

勉強中なので、不要なコードがあるかもしれません(;´Д`)

この記事がお役に立ちますと幸いです。
 

【Python】WebAPIからJSON読込:コマンドプロンプト整形
...

 

「Python[完全]入門」
「この一冊で」しっかりやさしく学べるPythonの教科書
はじめてプログラムを行う人でも安心して読み進められる!