浮動小数点数を含む Numpy 配列を sqlite3 に保存できますが、整数を含む配列は保存できません。
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)
結果:
InterfaceError: Error binding parameter 0 - probably unsupported type.
代わりに浮動小数点配列を割り当てると機能します row_to_write = np.array([1.1])