以 Python 取回資料JSON,資料格式為 List 類型。
import requests url = "http://www.ilepb.gov.tw/api/ILEPB01001/format/JSON" jd = requests.get(url).json() jd
資料格式為List,所以可以直接放到 Pandas 中
import requests import pandas as pd url = "http://www.ilepb.gov.tw/api/ILEPB01001/format/JSON" jd = requests.get(url).json() df = pd.DataFrame(jd) df = df.set_index('加油站名稱') df.head()
最後寫入SQLite中,並取出資料。
import sqlite3 conn = sqlite3.connect("gas.sqlite3") df.to_sql('point', conn, if_exists='replace') df = pd.read_sql("select * from point", conn, index_col=['加油站名稱']) df.head()
上面兩部分的寫法做一下結合就可以完成抓取資料到SQLite的Python程式碼。
最後提供另一種寫法完成這一回合的介紹,由於資料格式為JSON,而 Pandas 有支援直接讀取JSON,因此我們可直接改用 Pandas 來完成。
import requests import pandas as pd import sqlite3 url = "http://www.ilepb.gov.tw/api/ILEPB01001/format/JSON" df = pd.read_json(url) df = df.set_index('加油站名稱') conn = sqlite3.connect("gas.sqlite3") df.to_sql('point', conn, if_exists='replace') df = pd.read_sql("select * from point", conn, index_col=['加油站名稱']) df.head()
沒有留言:
張貼留言