psycopg2转义字符问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了psycopg2转义字符问题相关的知识,希望对你有一定的参考价值。

我正在尝试编写一个python脚本来定期使用 COPY TO将select语句导出到CSV文件。

查询是

postgres=# copy (select * from mytable where temp>32.5) to ...

此命令在psql命令行中有效。但是在我的脚本中它给出了这个错误,可能与字符串中的转义字符有关:

psycopg2.ProgrammingError: syntax error at or near ""
LINE 2:         copy (select * 
                ^

我在我的python代码中尝试了显而易见的'//'无济于事。它似乎逃避正斜杠或不逃避正斜杠产生相同的错误。

答案

copy只是一个psql命令。使用Psycopg的copy_expert cursor method

cursor.copy_expert (
    'copy (select * from mytable where temp>32.5) to stdout'
    'path	ofile.csv'
),

以上是关于psycopg2转义字符问题的主要内容,如果未能解决你的问题,请参考以下文章

Vscode在使用变量之前转义斜杠

jquery 冒号转义 为啥双斜杠

使用 sqlite 的 FTS 片段函数处理 html 转义

Python Django psycopg2.errors.StringDataRightTruncation:类型字符的值太长

如何转义 YAML 字符串中的冒号和其他特殊字符?

使用 psycopg2 编写动态 SQL 字符串