我試圖在sqlite3數據庫中存儲大約1000個浮點數的numpy數組,但我不斷收到錯誤“ InterfaceError:錯誤綁定參數1-可能是不受支持的類型”。我的印象是BLOB數據類型可以是任何東西,但絕對不能與numpy數組一起使用。這是我嘗試過的:import sqlite3 as sqlimport numpy as npcon = sql.connect('test.bd',isolation_level=None)cur = con.cursor()cur.execute("CREATE TABLE foobar (id INTEGER PRIMARY KEY, array BLOB)")cur.execute("INSERT INTO foobar VALUES (?,?)", (None,np.arange(0,500,0.5)))con.commit()我是否可以使用另一個模塊將numpy數組放入表中?還是可以將numpy數組轉換為sqlite將接受的Python中的另一種形式(例如可以拆分的列表或字符串)?性能不是重點。我只希望它能工作!謝謝!
3 回答
阿波羅的戰車
TA貢獻1862條經驗 獲得超6個贊
這對我有用:
import sqlite3 as sql
import numpy as np
import json
con = sql.connect('test.db',isolation_level=None)
cur = con.cursor()
cur.execute("DROP TABLE FOOBAR")
cur.execute("CREATE TABLE foobar (id INTEGER PRIMARY KEY, array BLOB)")
cur.execute("INSERT INTO foobar VALUES (?,?)", (None, json.dumps(np.arange(0,500,0.5).tolist())))
con.commit()
cur.execute("SELECT * FROM FOOBAR")
data = cur.fetchall()
print data
data = cur.fetchall()
my_list = json.loads(data[0][1])
添加回答
舉報
0/150
提交
取消
