Python 语法错误 - 使用 psycopg2 的 psql 查询中的反斜杠
Python syntax error - backslash in psql queries with psycopg2
我有一个小 python 脚本。我想用库 psycopg2 执行 psql 命令:
query = "\COPY ( select * from 'schema'.structure) TO 'path' DELIMITER ',' CSV HEADER;"
但是 \COPY
有语法错误。
我试图用 ''
和 \
来改变它,但似乎没有任何效果。我不想使用 cur.copy_from
.
有什么建议吗?
如果您想将 psycopg2
用于 COPY
自定义 SQL,则必须使用 copy_expert
。假设您的查询有效,这样:
with open(file_path, "w") as outfile:
cur.copy_expert("COPY (select * from 'schema'.structure) TO STDOUT DELIMITER ',' CSV HEADER", outfile)
您必须提供一个可写文件作为第二个参数,并在查询中使用 TO STDOUT
。
我有一个小 python 脚本。我想用库 psycopg2 执行 psql 命令:
query = "\COPY ( select * from 'schema'.structure) TO 'path' DELIMITER ',' CSV HEADER;"
但是 \COPY
有语法错误。
我试图用 ''
和 \
来改变它,但似乎没有任何效果。我不想使用 cur.copy_from
.
有什么建议吗?
如果您想将 psycopg2
用于 COPY
自定义 SQL,则必须使用 copy_expert
。假设您的查询有效,这样:
with open(file_path, "w") as outfile:
cur.copy_expert("COPY (select * from 'schema'.structure) TO STDOUT DELIMITER ',' CSV HEADER", outfile)
您必须提供一个可写文件作为第二个参数,并在查询中使用 TO STDOUT
。