为了账号安全,请及时绑定邮箱和手机立即绑定

Python将numpy数组插入sqlite3数据库

Python将numpy数组插入sqlite3数据库

元芳怎么了 2019-12-27 15:40:02
我试图在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])


查看完整回答
反对 回复 2019-12-27
  • 3 回答
  • 0 关注
  • 903 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信