我可以使用什么函数来调整值以适合在COPY FROM语句中使用?我试过这个函数:

from psycopg2.extensions import adapt

但是,它给出了错误的日期时间(将adapt附加到字符串,postgres不喜欢它)和字符串(将它们用单引号括起来,例如空字符串是“”,其中似乎不应该使用引号)。

最佳答案

你不应该把adaptcopy_from一起使用。
copy_from需要不同于SQL quoting的格式。
对于字符串,我建议您编写自己的copy_adapt函数,该函数应转义\t的制表符、\r的CR和\n的LF。
时间戳/日期列的值应格式化(使用strftime?)就像你在Postgres中看到的字符串。
元组元素应该用制表符表示,整个元组用换行符结束。

09-08 04:03