我正在尝试将 Numpy 数组插入 PostgreSQL。试图这样做
def write_to_db(some_arr, some_txt):
""" insert a new array into the face_ar table """
sql = """INSERT INTO test_db VALUES(%s,%s);"""
conn = None
try:
params = config()
conn = psycopg2.connect(**params)
cur = conn.cursor()
cur.execute(sql, (some_arr, some_txt))
conn.commit()
cur.close()
except (Exception, psycopg2.DatabaseError) as e:
print(e)
finally:
if conn is not None:
conn.close()
在它之前我在我的数据库中创建了一个表
create table test_db (encodings double precision[], link text);
最后我得到一个错误:“不能适应类型 'numpy.ndarray'”
我需要编写包含 125 个 float64 项的 Numpy 数组和每行中的链接等小文本。我的项目中会有几百万行。只是读取速度和数据库大小很重要。据我所知,无法直接插入 Numpy 数组,需要将其转换为另一种格式。我得到的第一个想法是将其转换为二进制数据并将其保存到 DB,但我不知道该怎么做以及如何以 Numpy 数组格式从 DB 取回它。
qq_遁去的一_1
德玛西亚99
相关分类