python36当numpy数组中含有省略号时如下怎样存到数据库并且取出来后恢复成numpy数组?133 25 0 0 0 0 0 110 61 1 6 7 0 0 3 46 5 1 0 0 0 50 0 0 7 0 0 1 0 0 55 2 0 0 1 0
你可以使用pickle模块将numpy数组存储到数据库中,并在需要时从数据库中取出并恢复成numpy数组。下面是一个示例代码:
存储到数据库:
import pickle
import sqlite3
import numpy as np
# 将numpy数组转换为字节流
arr = np.array([[133., 25., 0., ...], [0., 110., 61., ...], ...])
arr_bytes = pickle.dumps(arr)
# 连接数据库并插入数据
conn = sqlite3.connect('your_database.db')
cursor = conn.cursor()
cursor.execute("INSERT INTO your_table (your_column) VALUES (?)", (arr_bytes,))
conn.commit()
# 关闭数据库连接
conn.close()
从数据库中取出并恢复成numpy数组:
import pickle
import sqlite3
import numpy as np
# 连接数据库并查询数据
conn = sqlite3.connect('your_database.db')
cursor = conn.cursor()
cursor.execute("SELECT your_column FROM your_table")
result = cursor.fetchone()[0]
# 将字节流转换为numpy数组
arr = pickle.loads(result)
# 关闭数据库连接
conn.close()
请确保在存储和取出数据时使用相同的pickle模块版本和numpy版本,以确保正确的反序列化和恢复数组
原文地址: http://www.cveoy.top/t/topic/iLYd 著作权归作者所有。请勿转载和采集!