Python sqlite3 2d array insert into hatası

selamün aleyküm dostlar kısaca anlatmam gerekirse big data ile ilgileniyorum bu datayı olusturmak icin basite bir hesaplama ile 1.6 m luk bir data olusturuyorum ve ramde saklıyorum her işlem yaptıgımda bu datayı bastan olusturmam gerekiyor bunu ram den sqlite ye nasıl aktarabilirim yardımcı olursanız cok sevinirim simdiden tesekkürler.

Py dosyasına kaydettigim 2d arrayi veri tabanına taşıyabiliyorum ama ram e atınca hata veriyor cozemedigim konu bu

Merhaba,

Oncelikle: Soru Sorarken Sıkça Düşülen Hatalar

Bunun cozumu datayi diskte saklamak. Neye benziyor?

sqlite3 modulu ve INSERT ve SELECT query’leri kullanarak.

bkz: Soru Sorarken Sıkça Düşülen Hatalar #13

İşlemi direk SQL e atincada SQL kilitlendi hatası alıyorum
Olusturdugum data 17 kolon 1.568.352 sütun
Bu çıkan sonucunda ayrı bir pogramdan geçiriyorum oda bana 1.568.352x85 lik bir sonuç veriyor.
Yani bu sorunu aşarsam ikinci işleminde otomatik olarak aşmış olucam ve çıkan son sonuçta da istediğim aramaları yapabilecegim. Bana bir yol gösterirseniz müteşekkir olurum. Çünkü bu sorunla 1 aydır uğraşıyorum ve asamadigim için sizden yardım istiyorum

Dosyalarım bilgisayarımda şuan disaridayim akşama gerekli örnekleri buraya koyarim

SQL olarak ne kullanıyorsunuz ?

1.6M * 17’lik bir data olusturuluyor?
Icerigi ve yaklasik boyutu nedir bu datanin?

Program girdiyi nasil aliyor, sonucu nereye veriyor?

Boyle bir hata hic duymadim, tam metni nedir?

Yukaridakilerin cevabi orneklerde olabilir. Bekliyorum…

Sqlite3 kullanıyorum hafif ve basit olduğu icin

tesekkürler hocam dediğiniz gibi islemleri direk sqliteye attım ve sorun ortadan kalktı


def InData(nms, sonuc_0, sonuc_1, sonuc_2, sonuc_3, sonuc_4, sonuc_5, sonuc_6, sonuc_7, sonuc_8, sonuc_9, sonuc_10, sonuc_11, sonuc_12, sonuc_13 ,sonuc_14):
    try:
        Connection = sqlite3.connect('bigdata.sqlite')
        cursor = Connection.cursor()


        sqlite_insert = """INSERT INTO hsp
                          (id ,nms, sonuc_0, sonuc_1, sonuc_2, sonuc_3, sonuc_4, sonuc_5, sonuc_6, sonuc_7, sonuc_8, sonuc_9, sonuc_10, sonuc_11, sonuc_12, sonuc_13 ,sonuc_14) 
                          VALUES (null, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?);"""

        data_tuple = (nms, sonuc_0, sonuc_1, sonuc_2, sonuc_3, sonuc_4, sonuc_5, sonuc_6, sonuc_7, sonuc_8, sonuc_9, sonuc_10, sonuc_11, sonuc_12, sonuc_13 ,sonuc_14)
        cursor.execute(sqlite_insert, data_tuple)
        Connection.commit()
        cursor.close()
    except sqlite3.Error as error:
        print("SQL import Error :", error)
        sys.exit()
    finally:
        if Connection:
            Connection.close()
cözüm kodum da bu isteyen kullanabilir. 

Veri bayağı çoksa

yerine executemany kullanın. İşlem hızınızda bayağı bir fark olur.

Bende bu saatte hız ile ilgili araştırma yapıyordum ilaç oldunuz resmen çok teşekkürler