I am able to save Numpy arrays with floating point numbers to sqlite3, but not arrays with integers:
import sqlite3
import numpy as np
db = sqlite3.connect('database.db')
database = db.cursor()
database.execute("CREATE TABLE table_name "
"(round INT, id INT, PRIMARY KEY(round, id))")
row_to_write = np.array([1])
dtype = str(row_to_write.dtype)
if dtype.startswith('float'):
database.execute("ALTER TABLE table_name ADD data FLOAT;")
elif dtype.startswith('int'):
database.execute("ALTER TABLE table_name ADD data INTEGER;")
insert_str = "INSERT INTO table_name (round, id, data) VALUES (0, 0, ?);"
database.execute(insert_str, row_to_write)
results in:
InterfaceError: Error binding parameter 0 - probably unsupported type.
If I assign an floating point array instead it works row_to_write = np.array([1.1])