使用Python处理现有UPDATE
记录中的BLOB
和SQLite
字段的语法是什么?我创建了一个13x13的浮点数组,并希望使用该数组更新表中的特定记录(即使用WHERE
子句)。
正确的UPDATE
语法是什么?
数组具有以下形式:
[ 4.65640926e+00 5.59250259e+00 5.28963852e+00 1.60680866e+00
-3.39492680e-01 -4.76834650e-01 -4.76834650e-01 -2.29132240e-01
1.49733067e+00 1.51563072e+00 1.49733067e+00 9.53471420e-01
-1.40306473e+00]
[ 5.28963852e+00 5.34537315e+00 5.05013466e+00 1.48362923e+00
-3.69843300e-01 -4.76834650e-01 -4.76834650e-01 -2.29132240e-01
7.60705290e-01 1.49733067e+00 9.53471420e-01 3.05504260e-01
-1.40306473e+00]
总共13行的13个子数组。
谢谢你, 比尔
答案 0 :(得分:2)
SQL的语法是:-
UPDATE mytable SET myblobcolumn = x'ffeedd' WHERE your_where_clause;
哪里
显然,以上只是表示形式,您必须替换适当的值
答案 1 :(得分:0)
一个朋友向我指出了这种解决方案,效果很好。最初的答案来自StackOverflow,以示适当的感谢。
def Adapt_array(arr): “” 重新格式化numpy数组,以便可写入SQLite BLOB字段 输入:Numpy数组 返回值:兼容的二进制BLOB格式 代码源:Python insert numpy array into sqlite3 database “” out = io.BytesIO() np.save(out,arr) out.seek(0) 返回sqlite3.Binary(out.read())
def convert_array(text): “” 将SQLite BLOB字段重新格式化为原始Numpy数组 输入:SQLite的Numpy BLOB 返回:numpy数组 代码源:Python insert numpy array into sqlite3 database “” out = io.BytesIO(文字) out.seek(0) 返回np.load(out)