Python'da Veritabanından Veri Nasıl Çekilir? Python Kullanarak Verileri İçe Aktarma
Yayınlanan: 2021-03-09Veri analizi, günümüzün teknoloji odaklı çalışma ortamında genç mezunlar, mühendisler ve yöneticiler için sahip olması gereken temel bir beceridir. Bu yazıda, python'da bir veritabanından nasıl veri alınacağını ele alacağız ve bazı temel kavramlar hakkında sizi hızlandıracağız.
İçindekiler
Python Veritabanı ile Veri Çıkarma
Veri çıkarma, çeşitli kaynaklardan verilerin alınmasını ve bazen daha fazla işlenmesini ve daha fazla analiz için veri havuzlarına taşınmasını gerektirir. Bu nedenle, süreçte bir tür veri dönüşümü gerçekleşir. Python, bu tür veri bilimi görevleri için önde gelen programlama dillerinden biridir. Dünya genelinde bu genel amaçlı ve betik dilinin yaklaşık 8,2 milyon kullanıcısı var.
Aşağıdaki kılavuzda, açık kaynaklı bir ilişkisel veritabanı sistemi olan PostgreSQL kullanarak çıkarma yöntemlerini tartışacağız. Sonuç kümelerini küme parantezleriyle {} çevrelenen JSON nesneleri olarak döndüren bir ROW_TO_JSON işlevi sağlar. JSON veri türleri, sorgu sonuçlarını daha rahat bir şekilde değiştirmenize yardımcı olur. Ancak başlamadan önce, psycopg2-binary gibi bir sanal ortam kurduğunuzdan emin olun.
Python Veritabanı Temelleri
Amerikan Ulusal Futbol Ligi'ne (NFL) ait bir PostgreSQL veritabanınız olduğunu varsayalım. Bu, oyuncular, antrenörler ve takımların tabloları hakkında bilgileri içerecektir. Ayrıca, saklanan veriler hakkında fikir sahibi olmak için aşağıdaki ayrıntılara dikkat edin:
- Oyuncuların veri tablosu, birincil anahtar olan athelete_id, oyuncuların adları ve soyadları, forma numaraları, ağırlık (kg), boy (m) ve menşe ülkeleri gibi ayrıntıları içerir. Ayrıca, her sporcunun takımını gösteren yabancı bir anahtar olan team_id'yi de tutar.
- Antrenörlerle ilgili veri tablosunda, ad ve soyadları ile birlikte Coach_id (birincil anahtar) ve team_id (takımların tablo alanını referans alan bir yabancı anahtar) bulunur.
- Son olarak, her futbol takımını bir isim, konferans, sıralama ve toplam galibiyet ve mağlubiyetle ("ev" ve "deplasman" olarak ikiye bölünmüş) tanımlayan takımlar tablosu vardır. Burada birincil anahtar, yukarıdaki tablolarda atıfta bulunulan team_id'dir.
Artık veri kümesine aşina olduğunuza göre, ekiplerin bir listesini almak için bir SQL sorgusunun nasıl yazılacağını keşfedelim. Örneğin, konferanslarına ve derecelerine göre sıralanmış futbol takımlarına ihtiyacınız var. Ayrıca, antrenörlerinin adlarıyla birlikte her takımdaki sporcu veya oyuncu sayısını da çıkarmak istiyorsunuz. Ayrıca takımların hem iç sahada hem de deplasmanda galibiyet ve mağlubiyet sayılarını da bilmek isteyebilirsiniz.
Bu işlemi başlatmak için aşağıdaki adımları izleyin:
SEÇME
f.isim,
f.şehir,
f.konferans,
f.konferans_sıralaması,
Sporcu sayısı olarak COUNT(a.player_id)
CONCAT(c.first_name, ' ', c.last_name) AS koçu,
f.home_wins,
f.away_wins
Sporcular a, f takımları, c antrenörlerinden
NEREDE a.team_id = f.team_id
VE c.team_id = f.team_id
GROUP BY f.name, c.first_name, c.last_name, f.city, f.conference, f.conference_rank, f.home_wins, f.away_wins
SİPARİŞ BY f.konferans, f.konferans_rank
Bundan sonra sorguyu daha önce bahsettiğimiz JSON fonksiyonunun (ROW_TO_JSON) içinde çözebilirsiniz. Bu, verileri geçerli dizininizdeki sorgu.sql adlı bir dosyaya kaydeder. Şimdi, aşağıda verilen adımlarla devam edin.
DAN ROW_TO_JSON(team_info) SEÇ
SEÇME
f.isim,
f.şehir,
f.konferans,
f.konferans_sıralaması,
COUNT(a.athelete_id)AS number_of_atheletes,
CONCAT(c.first_name, ' ', c.last_name) AS koçu,
f.home_wins,
f.away_wins
Sporcular a, f takımları, c antrenörlerinden
NEREDE a.team_id = f.team_id
VE c.team_id = f.team_id
GROUP BY f.name, c.first_name, c.last_name, f.city, f.conference, f.conference_rank, f.home_wins, f.away_wins
SİPARİŞ BY f.konferans, f.konferans_rank
) AS team_info
Her satırın bir python sözlüğünün yapısına sahip olduğunu gözlemlersiniz. Anahtarlar, yalnızca sorgunuz tarafından döndürülen alan adlarıdır.
Ayrıca, ortam değişkenlerinizi açıkta bırakmaktan kaçınmak için başlatma dosyalarınıza bazı değişiklikler uygulayabilirsiniz. İhtiyaçlarınıza bağlı olarak aşağıdaki yöntemlerden birini seçin:
- Windows için: Kontrol paneli → Sistem → Gelişmiş Sistem Ayarları → Gelişmiş Sekmesi → Ortam değişkenleri.
- Unix benzeri bir ortam için: Başlatma dosyanıza kullanıcı adınız ve parolanızla ilgili iki satır ekleyin.
Bununla, hepiniz python kodu yazmaya hazırsınız. En başta, hataları önlemek için bazı modülleri ve işlevleri içe aktaracağız. Bu ifadeler bunu başarmanıza yardımcı olabilir:
işletim sistemini içe aktar
psycopg2'yi p olarak içe aktar
psycopg2'den içe aktarma Hatası
Ardından, query.sql içeriğini yükleyerek bağlantıyı somutlaştıracağız. Open ve read komutlarını kullanarak SQL veritabanı dosyasını açın ve veritabanı kullanıcınızı, parolanızı, ana makinenizi ve bağlantı noktası numaranızı belirterek connect işlevini kullanarak NFL veritabanına bağlanın.
Ayrıca Okuyun: GitHub'da Python Projeleri
Python'da Veritabanından Veri Nasıl Çekilir?
Veritabanı bağlantısını kurduktan sonra sorgu yürütmeye devam edebilirsiniz. 'İmleç' adlı bir kontrol yapısı kullanmanız gerekir. “Cursor = conn.cursor()” ve ardından “cursor.execute(query)” yazmak kadar kolaydır. Sonuç daha sonra bir sözlük biçiminde bir demet listesi (tek elemanlı) içerecektir.
sonuç = imleç.fetchall()
Bu aşamada, sonuç üzerinde yineleme yapmayı deneyebilirsiniz. İçeriği istediğiniz gibi değiştirebilir, bunları elektronik tablolara, HTML tablolarına vb. ekleyebilir veya besleyebilirsiniz. Bitirirken kodunuzu sarmayı ve temizlemeyi unutmayın. Bunu bir try-except-block ile ve bir 'nihayet' cümlesi ekleyerek yapabilirsiniz.
İlişkisel veya başka bir şekilde büyük veri kümelerini kullanırken, özellikle sonuçları değiştirmek istediğinizde, tabloları sorgulamak için bazı temel araçlara ihtiyaç duyarsınız. Bu tür veri dönüşümlerini python ile elde etmek kolaydır.
Bu nedenle, çoğu lisansüstü eğitim programı, müfredatın bir parçası olarak bu tekniklerin bilgisini içerir. Bazı örnekler , Veri Biliminde Ön Lisans Diplomasını (IIIT-Bangalore) ve İş Analitiğinde Küresel Yüksek Lisans Sertifikasını (Michigan Eyalet Üniversitesi) içerir.
Ödeme: Python Açık Kaynak Proje Fikirleri
Çözüm
Bu python veritabanı eğitiminde, ilişkisel bir veritabanına nasıl bağlanılacağını, sorguların nasıl yürütüleceğini ve sonuçların nasıl içe aktarılacağını öğrendik. Python ile çok daha fazlasını yapabilir ve kodunuzu istediğiniz şeyleri yapacak şekilde uyarlayabilirsiniz.
Umarız bu rehber biraz netlik bulmanıza yardımcı olur ve merakınızı harekete geçirir!
Dünyanın en iyi Üniversitelerinden veri bilimi derslerini öğrenin. Kariyerinizi hızlandırmak için Yönetici PG Programları, Gelişmiş Sertifika Programları veya Yüksek Lisans Programları kazanın.
Python isteklerini kullanarak bir API'den nasıl veri çekersiniz?
Bir API'den veri almak istediğinizde, tıpkı geleneksel web siteleriyle etkileşimde bulunduğunuzda olduğu gibi, sunucudan bir istekte bulunmanız gerekir. Python kullanarak bir API'den veri almak için request paketini kullanmamız gerekecek. Python'da İstekler, HTTP istekleri yapmak için standart kitaplıktır. Soyutlamaları nedeniyle, özellikle API'lerle çalışırken kullanımı gerçekten kolaydır.
Bir isteği çalıştırmak için istek kitaplığını kullandığımızda, çıkarmak istediğimiz verileri ve istek durum kodunu içeren bir istek nesnesi alırız. Durum kodu, talebin durumu hakkında bize bilgi verir ve yaptığımız her talebin bir parçasıdır. Döndürdükleri bilgilere bağlı olarak kodlar yüzlerce farklı değere bölünür.
Python ile SQLite nasıl bağlanır?
a. SQLite kullanabilmek için sqlite3'ü import etmemiz gerekiyor.
B. Ardından, connect yöntemini kullanarak bir bağlantı kurun ve erişmek istediğiniz veritabanının adını girin; bu ada sahip bir dosya varsa, açılacaktır. Bir dosya belirtmezseniz, Python sağlanan ada sahip bir dosya oluşturacaktır.
C. Bunu takiben, SQL komutları gönderebilen bir imleç nesnesi oluşturulur. İmleç, veritabanı kayıtlarını geçmek ve almak için bir kontrol yapısıdır. Python ile uğraşırken imleç gerçekten önemlidir. İmleç nesnesi, tüm komutları yürütmek için kullanılacaktır.
D. Veritabanında bir tablo oluşturmak için bir nesne oluşturun ve SQL deyimini yorumlarla birlikte yazın. Örnek: - sql_comm = SQL ifadesi.
e. Ve komutu çalıştırmak bir esinti. Sql komutunun adını argüman olarak ileterek imleç yöntemini yürütün. Bir komut listesini sql_comm değişkeni olarak kaydedin ve çalıştırın. Tüm görevlerinizi tamamladıktan sonra, değişiklikleri taahhüt ederek dosyaya kaydedin ve ardından bağlantıyı kesin.
Python veritabanları için iyi mi?
Python, SQL ile elde edilebilen ancak daha sonra tek başına SQL ile gerçekleştirilmesi zor olacak ek manipülasyon gerektiren yapılandırılmış tablo verileri için özellikle uygundur.