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
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
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.
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
xampp kurup açtım tablo ismini aldım
Şimdi pymysql ile verileri alıp değiştirebilirsiniz
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?
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.
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