SQL , JSON okutma [50M Satır]

pd.read_sql_query(“select * from bilgiler”, baglanti)

from bilgiler demişsiniz hocamda ben büyük dosyayı açamadığım için içindeki tablo isminide bilemiyorum ne kullanabilirim onun yerine

Veri tabanındaki tabloların adını öğrenmek için aşağıdaki kodu çalıştırabilirsin;

cs = baglanti.cursor()   # kursor olustur

cs.execute("SELECT name FROM sqlite_master")
cs.fetchall()

Çıktı:

[(‘bilgiler’,), (‘sqlite_sequence’,)]

Kodların tümünü yazmam gerekirse;

import pandas as pd
import sqlite3

db = sqlite3.connect("tablo.sql") # "tablo.sql" isimli veri tabanı dosyasına bağlantı kur, içeriği "db" ismine  ata.

cs = db.cursor() # imlec (cursor) kursör olustur.

cs.execute("SELECT name FROM sqlite_master") # Veri tabanındaki tabloların adını öğrenmek için;
# cs.fetchall() # Tablo isimlerini ekrana bastır. fetchall() metodu, bir veritabanından SELECT ile seçtiğimiz bütün verileri önümüze getiriyor. 
tablo_isimleri = cs.fetchall() # İstersek tablo isimlerini bir değişkene de atayabiliriz.
print(tablo_isimleri)

ÇIKTI:

[(‘bilgiler’,), (‘sqlite_sequence’,)]

df = pd.read_sql_query("select * from bilgiler", db) # "db" ismi atanan veritabanındaki "bilgiler" tablosunun içeriğini Pandas Veri Çerçevesine (DataFrame) dönüştürelim ve "df" ismine atayalım.
df.head() # df isimli ver çerçevesinin ilk 5 kaydına bakalım.

ÇIKTI:

id isim soyisim ulke sehir dogum_tarihi
0 1 Necati Şaşmaz Türkiye Harput 15.12.1971
1 2 Özgü Namal Türkiye İstanbul 28.12.1987
2 3 Gürkan Uygun Türkiye Sakarya 27.05.1974
3 4 İsmayil Efendiyev Azerbaycan Şamaxi 10.10.1910
4 5 Leyla Badirbayli Azerbaycan Bakü 08.01.1920
db.close() # veri tabanı bağlantısını koparalım.
1 Beğeni

xampp kurup mysql klasörü içinde data klasörüne yeni bir klasör oluşturup o 3 dosyayı buraya atın sonra phpmyadmine girin orada gözükür

.myd uzantılı olanı okutmayı denedim yüksek gblıyı , uzantısını .sql yaparakta denedim gene aynı hata

, line 8, in
cs.execute(“SELECT name FROM sqlite_master”) # Veri tabanındaki tabloların adını öğrenmek için;
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
sqlite3.DatabaseError: file is not a database

tablo ismini bilsem bile okuyabilceğini zannetmiyorum hocam

deneyim hocam teşekkürler

1 Beğeni

xampp kurup açtım tablo ismini aldım

Şimdi pymysql ile verileri alıp değiştirebilirsiniz

1 Beğeni

deniycem hocam teşekkürler

sqlite3.DatabaseError: file is not a database

dosya bir veritabanı değil (file is not a database)” hatası veriyor.
Elindeki dosyanın bir veritabanı dosyası olduğuna emin misin?

Dosya ne dosyasi?
Icerigi ne?

1 Beğeni

myd , sql , xls uzantıları üzerine çalışıyorum hepsini okuyabilcek yazabilcek birşey yapmaya çalışıyordum myd de takılı kaldım birde dosya boyutunun yüksek olması durumunda yazdığım kodun okumaması gibi sorunlar var içerik fark etmez hocam her ihityacı olana yönelik birşey yapıyorum

evet hocam xampp kurup dosayı atıp attım içeriği görüntüledim heralde bozuk olsa yada veritabanı dosyası olmasa açamazdım diye düşünüyorum yada bozulma gibi şeyler olurdu diye tahmin ediyorum tahminden ileri gidemiyorum şuanlık araştırmadım detaylı

xampp uygulaması ile, açtığın dosyayı SQL formatında dışarı aktarıp içeriğine ulaşmaya çalışır mısın?

Dosya adını değiştirken uzantıya müdahale ettiğin için " dosya bir veritabanı değil" hatası almış olabilirsin.

dediğiniz gibi sql olarak dışa aktardım fakat gene aynı hata hocam botyutundan kaynaklı olduğunu düşünüyorum elinizde 1-2 gb bir sql varsa sizde bir denermisiniz rica etsem

İnternetten bulduğum SQL uzantılı bazı dosyaların içeriğine erişebilirken bir çoğuna erişemedim.

evet hocam xampp kurup dosayı atıp attım içeriği görüntüledim

dedin ya, xampp ile dosya içeriği görüntüleyebiliyorsan, PhpMyAdmin panelinden dosyayı CSV ya da JSON uzantılı olarak dışa aktar, Pandas kütüphanesi ile bu dosyaları kullan.

import pandas as pd
verilerim = pd.read_json(“test.json”)
print(verilerim.head())

unexpected character found when decoding array value (2) hatasına ait bazı çözüm önerileri aşağıdaki linklerde verilmiş.

Aşağıdaki adreste, JSON uzantılı dosyanın tam yolu belirlenip, veri çerçevesine dönüşüm esnasında tam yol kullanılıyor.

import os
basePath = os.path.dirname(os.path.abspath(__file__))
df = pandas.read_json(basePath + '/test.json')
df.head()

Aşağıdaki adreste, Veri çerçevesi oluşturulurken JSON dosyası, dosya işlemleri konusunda anlatıldığı şekilde odlara ekleniyor.

I think you can use this code to solve error:,I fixed this problem
data_item = pd.read_json(open("D:/douban/douban_movie/data/movie_item.json", "r", encoding="utf8"),lines=True)

Aşağıdaki adreste, JSON uzantılı dosya içeriğini, TXT dosya içeriği görüntüler gibi görüntülemeye çalışılmış sanırım.

import json
from pprint import pprint

with open('test.json') as test:
    data = json.load(test)

pprint(data)

Umarım bunlardan biri senin için de özüm olur.

import os

import pandas as pd

basePath = os.path.dirname(os.path.abspath(file))

data_item = pd.read_json(open(“C:/Users/PC/Desktop/deneme/test.json”, “r”, encoding=“utf8”),lines=True)

df.head()

stackoverflow kullanıcılarından biri;
Fonksiyona ait belgeleri okudum ve farklı parametrelerle oynadım. Aşağıdaki kodu kullanarak çözdüm” demiş;

data= pd.read_json('Data.json', lines=True)

Şu şekilde de deneyebilirsiniz demiş;

data= pd.read_json('Data.json', lines=True, orient='records')
data= pd.read_json('Data.json', orient=str)

Kaynak: python - ValueError: Expected object or value when reading json as pandas dataframe - Stack Overflow