Скопировать команду с библиотекой 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 и искали ее, скрывая настоящее имя файла и т.д.