Я пытаюсь вставить массив 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'"
Мне нужно написать массив Numpy из 125 элементов float64 и небольшой текст, например, ссылку в каждой строке. В моем проекте будет несколько миллионов строк. Важна только скорость чтения и размер БД. Как я понял, невозможно вставить массив Numpy напрямую, и нужно преобразовать его в другой формат. Первая идея, которую я получил, состояла в том, чтобы преобразовать их в двоичные данные и сохранить в БД, но я не знаю, как это сделать и как вернуть его из БД в формате массива Numpy.