Google Sheets’i Backend Olarak Kullanan Streamlit ile Dahili Veri Uygulaması Oluşturma
Merhaba! Fatih Soysal burada. Bu yazıda, Google Sheets’i backend olarak kullanarak Streamlit ile hızlı ve kolay bir şekilde dahili veri uygulaması nasıl oluşturabileceğinizi adım adım anlatacağım. Özellikle küçük ve orta ölçekli şirketler için ideal olan bu yöntem, karmaşık veritabanı yönetim sistemlerine ihtiyaç duymadan hızlı prototipleme ve veri görselleştirme olanağı sunuyor. Öncelikle, neden bu yöntemi tercih etmeniz gerektiğini açıklayalım.
Neden Google Sheets ve Streamlit?
Google Sheets’in erişilebilirliği ve kullanım kolaylığı tartışılmaz. Zaten veri yönetimi için kullanıyorsanız, Streamlit ile entegre ederek verilerinizi görsel bir arayüzle sunmanız çok kolaylaşır. Streamlit ise Python tabanlı bir framework olup, Python kodunuz ile etkileşimli uygulamalar oluşturmanıza olanak tanır. Bu iki güçlü aracı birleştirerek, minimum kod ile etkileyici veri uygulamaları geliştirebilirsiniz. Örneğin, satış verilerinizi görselleştirmek, stok yönetimini kolaylaştırmak veya personel verilerini takip etmek için bu yöntemi kullanabilirsiniz.
Gerekli Kurulum ve Ayarlar
Başlamadan önce, birkaç adımdan geçmemiz gerekiyor. İlk olarak, Python’ı sisteminize kurmanız gerekecek. Ardından, pip install streamlit gspread komutuyla Streamlit ve gspread kütüphanelerini yükleyin. gspread kütüphanesi Google Sheets ile etkileşim kurmak için gereklidir. Google Sheets’inize erişmek için Google Cloud Platform’dan (GCP) bir servis hesabı oluşturmanız ve indirdiğiniz JSON dosyasını güvenli bir yerde saklamanız önemlidir. Bu JSON dosyasının içeriği daha sonra Streamlit uygulamanızda kullanılacaktır. Bu işlemler tamamlandıktan sonra, uygulamanın kodlama kısmına geçebiliriz.
Streamlit Uygulamasının Kodlanması
Şimdi, Streamlit uygulamasının Python koduna bakalım. Aşağıdaki kod parçası, Google Sheets’ten veri çekip Streamlit arayüzünde görüntülemektedir:
import streamlit as st
import gspread
from google.oauth2.service_account import Credentials
# Google Sheets servis hesabı kimlik bilgileri
scopes = [
'https://www.googleapis.com/auth/spreadsheets',
'https://www.googleapis.com/auth/drive'
]
creds = Credentials.from_service_account_file('your_credentials.json', scopes=scopes)
client = gspread.authorize(creds)
# Google Sheets'inize ait ID
sheet_id = 'YOUR_SHEET_ID'
sheet = client.open_by_key(sheet_id).sheet1
# Verileri çekme
data = sheet.get_all_values()
# Streamlit arayüzü
st.title('Google Sheets Veri Uygulaması')
st.write(data)
Bu kodda, your_credentials.json dosyasının yerine kendi servis hesabı dosyanızın yolunu ve YOUR_SHEET_ID yerine Google Sheets’inizin ID’sini girmeniz gerekmektedir. Google Sheets’inizin ID’sini Sheets URL’sinden bulabilirsiniz. Bu kod, Google Sheets’inizdeki tüm verileri çeker ve Streamlit arayüzünde bir tablo olarak görüntüler. Daha gelişmiş görselleştirmeler için, Pandas ve Matplotlib gibi kütüphaneleri kullanabilirsiniz. Ayrıca, kullanıcı etkileşimini artırmak için Streamlit’in sağladığı çeşitli widget’ları da kullanabilirsiniz.
Uygulamanın Çalıştırılması ve İleri Seviye Özellikler
Kod yazımını tamamladıktan sonra, komut satırında streamlit run app.py (app.py dosya adınız olabilir) komutunu çalıştırarak uygulamanızı çalıştırabilirsiniz. Uygulamanızda, veri filtreleme, arama, güncelleme ve ekleme gibi ek özellikler eklemek isterseniz, gspread kütüphanesinin sağladığı fonksiyonları kullanabilirsiniz. Daha karmaşık uygulamalar için, veritabanı yönetimi ve veri işleme tekniklerini kullanmanız daha uygun olabilir. Ancak, hızlı prototipleme ve basit uygulamalar için Google Sheets ve Streamlit mükemmel bir kombinasyon oluşturmaktadır.
Bu makalede, Google Sheets’i backend olarak kullanan basit bir Streamlit uygulamasının nasıl oluşturulacağını öğrendiniz. Umarım bu bilgi, kendi dahili veri uygulamanızı oluşturmanızda yardımcı olur. Daha detaylı bilgi ve örnekler için fatihsoysal.com adresini ziyaret edebilirsiniz. Ayrıca, Streamlit ve gspread belgelerini inceleyebilirsiniz. Başka sorularınız varsa, lütfen yorum bırakmaktan çekinmeyin!
Faydalı kaynaklar:
#Etiketler: Google Sheets, Streamlit, Dahili Veri Uygulaması, Python, Veri Görselleştirme, gspread, Veri Analizi, Prototipleme, Veri Yönetimi, Hızlı Uygulama Geliştirme
