Python Mongodb: Pandas Dataframe’i MongoDB’ye Yazmak

Merhabalar bu yazımızda Python Mongodb entegrasyonunu yapıp Python Pandas Dataframe verisini Python kullanarak MongoDB’ye yazacağız. MongoDB ile etkileşime geçmek için çok farklı dillere ait driver paketler yazılmış. Bu dillerden birisi de Python. Bu yazımızda Python’ın pymongo kütüphanesini kullanacağız. Bu kütüphane Python diliyle MongoDB’de bir şeyler yapmak isteyenler için yegane çözüm. Bu yazıyı takip etmek için bazı ön koşullarımız olacak.

  • MongoDB kurulu ve 27017 portundan erişilebilir durumdadır. Örneğin, benim MongoDB sunucum docker:27017‘de şuan çalışıyor. Buradaki docker benim sunucuya verdiğim isim. Aslında ip numarası docker-machine ip adresi. Hazırda bir MongoDB’niz yok ise docker ile hızlı bir şekilde kullanıma hazır hale getirebilirsiniz.
  • Python3 yüklü ve çalışır durumdadır.
  • Kullanacağımız modülün adı pymongo. python -m pip install pymongo komutu ile bu modülü yüklemiş olmalısınız.
  • Jupyter kullanabiliyorsunuz.

1. Pandas Dataframe Oluşturma

Basit bir dataframe oluşturalım.

import pandas as pd
artists = [
  { "name": "Filiz AKIN", "address": "Bebek İstanbul"},
  { "name": "Sadri ALIŞIK", "address": "Nişantaşı İstanbul"},
  { "name": "Behzat Ç", "address": "Çankaya Ankara"},
  { "name": "Ayhan IŞIK", "address": "Sultanbeyli İstanbul"},
  { "name": "Cüneyt ARKIN", "address": "Odunpazarı Eskişehir"}
]

df = pd.DataFrame(artists)
df.head()

df.head() sonrası dataframe görünüm:

nameaddress
0Filiz AKINBebek İstanbul
1Sadri ALIŞIKNişantaşı İstanbul
2Behzat ÇÇankaya Ankara
3Ayhan IŞIKSultanbeyli İstanbul
4Cüneyt ARKINOdunpazarı Eskişehir

MongoDB json dosya formatı ile çalıştığından pandas dataframe’i json formatına çevirelim.

# pandas dataframe'i json formatına çevir
import json
records = json.loads(df.T.to_json()).values()

2. MongoDB Veri Tabanı ve Collection Oluşturma

pymongo kütüphanesi ile rahatlıkla veri tabanı oluşturup collection yaratabiliriz. Collection kavramı yabancı geldiyse onu ilişkisel veri tabanlarındaki tablo gibi düşünebilirsiniz.

Mongodb bağlantısı:

import pymongo

# mongodb bağlantı
myclient = pymongo.MongoClient("mongodb://docker:27017")

Veri tabanı oluşturma. Varsa seçer, yoksa oluşturur.

# bir veri tabanı seç veya yoksa oluştur.
# Not: İçine bir şey konulmadıkça mongodb'de veri tabanı gerçekten oluşmaz.
db = myclient["mydatabase"]

Collection oluşturma:

# Bir collection oluştur.
my_collection = db["artists"]

Yukarıda dataframe’den json’a çevirdiğimiz sanatçıları şimdi MongoDB’ye yazalım.

#json formatına çevrilen dataframe'i mongodb'ye yaz
x = my_collection.insert_many(records)

Kontrol yapalım ve ilk kaydı (document) görelim.

y = my_collection.find_one()
print(y)

Sonuç:

{'_id': ObjectId('5da078ce688e42fcb888bd9d'), 'name': 'Filiz AKIN', 'address': 'Bebek İstanbul'}

İşte bu kadar. Bu yazımızda hızlı bir şekilde pandas dataframe’i MongoDB’ye Python kullanarak nasıl yazacağımızı gördük. Başka bir yazıda buluşmak dileğiyle hoşçakalın…

Yazar Hakkında
Toplam 179 yazı
Erkan ŞİRİN
Erkan ŞİRİN
10 yılı aşkın süredir yurtiçi ve yurtdışında sektörde büyük veri mühendisliği, platform yönetimi ve makine öğrenmesi ile ilgili çalışmalar yürütmekte ve aynı zamanda birçok kurum ve şirkete danışmanlık ve eğitimler vermektedir. Çalışma alanları: Data ve MLOps platformları, gerçek zamanlı veri işleme, değişen veriyi yakalama (CDC) ve Lakehouse.
Yorumlar (Yorum yapılmamış)

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

×

Bir Şeyler Ara