我可以使用什么函数来调整值以便在COPY FROM
语句中使用?我尝试了这个adapt
函数:
from psycopg2.extensions import adapt
然而,它给日期时间提供了错误的东西(将::timestsamp
附加到字符串,postgres不喜欢它)和字符串(用单引号包装它们,例如空字符串是'',它似乎没有应该使用引号。
答案 0 :(得分:1)
您不应只将adapt
与copy_from
一起使用。
copy_from
期望格式与SQL引用不同。
对于字符串,我建议编写您自己的copy_adapt
函数,该函数应该使用\t
,使用\r
的CR和使用\n
的LF转义选项卡。
时间戳/日期列的值应格式化(使用strftime?),就像在Postgres中SELECT now()
时看到的字符串一样。
元组元素应该由制表符进行分析,整个元组用换行符完成。