Скопировать команду с библиотекой psycopg2
Можно ли выполнить команду ниже через psycopg2? Если да, то как я могу это сделать?
COPY table_name(col1,col2) FROM 'path/to/file.csv' WITH HEADER DELIMITER ',' CSV;
Ответы
Ответ 1
Да!
Вы можете использовать метод copy_from
:
import psycopg2
dbname=...
user=...
password=...
host=...
port=...
con = psycopg2.connect(database=dbname,user=user,password=password,host=host,port=port)
cur = con.cursor()
f = open('path/to/file.csv')
cur.copy_from(f, 'test', columns=('col1', 'col2'), sep=",")
con.commit()
con.close()
Ответ 2
Поиском в Google psycopg2 copy
, первым хитом для меня, является руководство по психопрограмме, в котором содержатся инструкции по использованию клиентской COPY
.
Если вам нужен серверный COPY
, просто запустите оператор, как и любой другой SQL.
Как написано выше, команда не имеет никакого смысла. Я предполагаю, что вы хотели написать команду COPY ... TO
или COPY ... FROM
и искали ее, скрывая настоящее имя файла и т.д.