top of page
Gambar penulisCornellius Yudha Wijaya

Dari Google Sheet ke Jupyter Notebook

Dari Google Sheet ke Jupyter Notebook

Jupyter Notebook adalah tool yang powerful bagi data scientist. Anda bisa menjalankan algoritma yang kompleks dengan beberapa baris kode serta melakukan analisis data dalam jumlah besar.


Jupyter Notebook bisa terhubung dengan sistem database dimana data disimpan. Sebagai seorang data scientist, jika kita membicarakan database hal pertama yang sering muncul di benak kita adalah SQL.


Tentu saja, SQL saat ini masih menjadi top of mind ketika berbicara tentang database, tetapi banyak orang yang tidak berasal dari background pemrograman yang mungkin tidak begitu familiar dengan SQL. Terutama para profesional berpengalaman yang ingin beralih ke bidang data science, sering kali mereka menggunakan Google Sheet untuk menyimpan data mereka.

Karena itu, saya ingin menunjukkan cara menghubungkan Jupyter Notebook dengan Google Sheets.


Kredensial

Menghubungkan Jupyter Notebook dengan Google Sheets sebenarnya tidak terlalu rumit; hanya persiapannya yang sedikit memakan waktu. Untungnya, kita hanya perlu melakukannya sekali.


Hal pertama yang perlu kita lakukan adalah mendapatkan kredensial yang sesuai dari Google Developer Console. Kredensial ini meminta izin untuk mengakses Google Sheets kita.

Klik create project pada konsole. Di sana Anda akan menemukan layar yang muncul mirip dengan gambar di bawah ini.


Dari Google Sheet ke Jupyter Notebook

Tidak masalah apa nama proyek yang Anda berikan, yang penting adalah Anda membuat proyek baru. Untuk menghubungkan ke Google Sheets, kita hanya memerlukan satu proyek ini, jadi setidaknya pilihlah nama yang bisa Anda ingat.


Dari Google Sheet ke Jupyter Notebook

Kembali ke konsol dan lihat apakah proyek telah berhasil dibuat atau belum. Pilih proyek yang baru dibuat dan klik menu hamburger di kiri atas (yang di sebelah simbol Google APIs). Di sana pilih API & Services lalu pilih Dashboard.


Dari Google Sheet ke Jupyter Notebook

Di dashboard, pilih tombol ENABLE APIS AND SERVICES.


Dari Google Sheet ke Jupyter Notebook

Dari sana kita akan dibawa ke APIs Library. Maka akan terlihat seperti gambar di bawah ini.

Dari Google Sheet ke Jupyter Notebook

Di search bar, ketik ‘Google Sheets’ untuk menemukan Google Sheets API.

Dari Google Sheet ke Jupyter Notebook

Dari sana klik Google Sheets API dan aktifkan API.

Dari Google Sheet ke Jupyter Notebook

Pada langkah ini, kita juga mengaktifkan Google Drive API, jadi cari juga ‘Google Drive API’.

Sekarang kita akan dibawa ke Google Sheets API Dashboard. Untuk menggunakan API ini, pertama-tama kita perlu membuat kredensial.


Dari Google Sheet ke Jupyter Notebook

Di sini kita akan diarahkan ke layar lain untuk membuat kredensial kita. Pilih Google Sheets API untuk pertanyaan Which API are you using, Other UI untuk pertanyaan Where will you be calling the API from, dan User data untuk pertanyaan What data will you be accessing. Sekarang klik tombol What credentials do I need?. Langkah-langkahnya ditunjukkan pada gambar di bawah ini.


Dari Google Sheet ke Jupyter Notebook

Jika ini adalah pertama kalinya Anda membuat kredensial, Anda akan diarahkan untuk membuat OAuth consent screen. Klik Set up Consent Screen untuk membuatnya.

Dari Google Sheet ke Jupyter Notebook

Di sini, cukup masukkan nama apa saja di application name dan klik simpan.

Dari Google Sheet ke Jupyter Notebook

Kembali ke dashboard, sekarang klik tombol Create credentials dan pilih OAuth client ID.

Dari Google Sheet ke Jupyter Notebook

Di sini, pilih tipe Other dan ketik nama apa saja yang Anda suka. Lalu klik Create.

Dari Google Sheet ke Jupyter Notebook

Anda akan kembali ke dashboard. Sekarang download OAuth Client ID yang baru dibuat dan letakkan di folder tempat Anda akan menggunakan Jupyter Notebook Anda.

Dari Google Sheet ke Jupyter Notebook

Langkah di atas tidak selalu diperlukan, tetapi kita melakukannya untuk berjaga-jaga jika dibutuhkan suatu saat nanti.


Kita membutuhkan satu hal lagi. Sekarang kembali ke create credentials dan klik tombol Service account.

Dari Google Sheet ke Jupyter Notebook

Ketik nama apa saja yang Anda suka lalu klik tombol Create. Di layar berikutnya, pilih peran sebagai Service Account User.

Dari Google Sheet ke Jupyter Notebook

Lalu klik tombol create key.

Dari Google Sheet ke Jupyter Notebook

Pilih JSON Key Type dan klik create. Simpan file di folder yang sama dengan notebook yang Anda buat.

Dari Google Sheet ke Jupyter Notebook

Sekarang kita mendapatkan semua kredensial yang kita butuhkan. Ini adalah langkah panjang tetapi kita hanya perlu melakukannya sekali.


Menghubungkan Google Sheets ke Jupyter Notebook


Sebelum kita mulai, kita perlu menginstal 3 modul Python yang berbeda.

pip install gspread oauth2client df2gspread

Sekarang kita sampai pada bagian di mana kita bisa menghubungkan sheets ke Jupyter Notebook. Saya akan menunjukkan langkah-langkahnya di bawah ini.


Import module yang dibutuhkan.

import gspread
from df2gspread import df2gspread as d2g
from oauth2client.service_account import ServiceAccountCredentials

Buat worksheet baru di Google Sheet Anda. Lalu klik tombol share di kanan atas dan masukkan email dari Service Account di dashboard google API Anda. Ini untuk memastikan bahwa Worksheet terhubung ke Jupyter Notebook kita.

Dari Google Sheet ke Jupyter Notebook

Inisialisasi semua variabel penting.

scope = [
   'https://spreadsheets.google.com/feeds',
         'https://www.googleapis.com/auth/drive']

google_key_file = 'service_key.json'
credentials = ServiceAccountCredentials.from_json_keyfile_name(google_key_file, scope)
gc = gspread.authorize(credentials)

Sekarang kita telah memiliki semua koneksi penting yang kita butuhkan.


Upload Data ke Google Sheet

Pertama, mari kita coba mengupload data kita dari Jupyter Notebook ke Google Sheet.

import seaborn as sns
tips = sns.load_dataset('tips')

Berikut adalah data kita.

Dari Google Sheet ke Jupyter Notebook

Sekarang ada beberapa hal yang perlu diperhatikan ketika kita ingin mengupload data ke google sheet. Kita membutuhkan Worksheet ID dan nama sheet kita. Cara mendapatkannya ditunjukkan pada gambar di bawah ini.


Dari Google Sheet ke Jupyter Notebook

Sekarang mari kita upload data ke Google Sheet yang kosong ini.


#This is the Worksheet ID
spreadsheet_key = '1ZJzLxLyfExKC-vziq21JFNzVcCISJVQxa0Dx-55Qc8k'

#This is the sheet name
wks_name = 'test_data'

d2g.upload(tips, spreadsheet_key, wks_name, credentials=credentials, row_names=False)

Dan selesai, sekarang kita memiliki data kita di google sheet.

Dari Google Sheet ke Jupyter Notebook

Menarik Data dari Google Sheets

Cara menarik data semudah mengupload data ke google sheet. Saya akan menunjukkan caranya dalam kode di bawah ini.

#Opening the worksheet by using Worksheet ID
workbook = gc.open_by_key(spreadsheet_key)

#Selecting which sheet to pulling the data
sheet = workbook.worksheet('test_data')

#Pulling the data and transform it to the data frame
values = sheet.get_all_values()
pull_tips = pd.DataFrame(values[1:], columns = values[0])

pull_tips
Dari Google Sheet ke Jupyter Notebook

Dangan ini kita sudah terhubung dengan Google Sheet dari Jupyter Notebook kita.


Kesimpulan

Saya telah menunjukkan kepada Anda langkah-langkah yang diperlukan untuk menghubungkan Jupyter Notebook dengan Google Sheets. Saya juga telah menunjukkan cara mengupload dan menarik data dari dan ke Google Sheets.


Semoga bermanfaat!

11 tampilan0 komentar

Comments


bottom of page