Pandas Baca JSON
Data bertebaran di internet, dalam bentuk kadang rapi seperti html atau dalam bentuk yang lebih mudah ditangani, json. Pandas menyediakan fungsi read_json yang dapat digunakan untuk membaca data dari berkas json atau data yang disediakan oleh API.
import pandas as pd # Local file universities1 = pd.read_json('world_universities_and_domains.json') # Online file universities2 = pd.read_json('https://raw.githubusercontent.com/Hipo/university-domains-list/master/world_universities_and_domains.json') # API quote = pd.read_json('https://quote-garden.herokuapp.com/api/v2/quotes/random')
Latar Belakang
JSON adalah salah satu format data yang populer terutama setelah internet memuja Single Page Application (SPA). Format data ini menyediakan (seringnya hanya) data sehingga mudah ditangani di pandas, apalagi jika dibandingkan dengan format html.
Kode
Untuk pertama impor library pandas.
import pandas as pd
Local File
Kita akan membaca daftar alamat kampus dari sini yang telah diunduh dan disimpan di komputer (local file).
universities1 = pd.read_json('world_universities_and_domains.json')
Online File
Dapat pula langsung diakses menggunakan url berkas tersebut.
universities2 = pd.read_json('https://raw.githubusercontent.com/Hipo/university-domains-list/master/world_universities_and_domains.json')
API
Komunikasi data era sekarang intensif menggunakan API karena itu pandas juga bisa mengonsumsi data dari API.
Pada kode di bawah ini kita akan mengonsumsi kutipan dari Quote Garden menggunakan kode di bawah ini.
quote = pd.read_json('https://quote-garden.herokuapp.com/api/v2/quotes/random')
Yang perlu diperhatikan adalah dokumentasi dari API, misal untuk mendapatkan dua puluh data kita perlu mengisi parameter limit.
quotes = pd.read_json('https://quote-garden.herokuapp.com/api/v2/quotes?page=1&limit=20')
Perlu sedikit kode tambahan untuk membersihkan data.
data = pd.DataFrame(quotes.quotes.values.tolist())
Referensi
- https://stackoverflow.com/questions/40588852/pandas-read-nested-json
- https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_json.html
Cover Image by xresch on Pixabay