Python 3.x Python copy_expert加载带有空值的数据时出现问题
我无法使用copy_expert将csv导入postgres中的表。该错误是由空值引起的 我在db中的字段类型是允许空值。通过“插入到”手动插入被证明是成功的 根据我到目前为止所了解的情况,这是因为copy_expert将空值转换为文本,这就是它在时间戳数据类型上失败的原因。但是,我无法找到将null强制为null的正确语法。下面的代码片段: 打开(ab,'r')作为f的Python 3.x Python copy_expert加载带有空值的数据时出现问题,python-3.x,postgresql,psycopg2,Python 3.x,Postgresql,Psycopg2,我无法使用copy_expert将csv导入postgres中的表。该错误是由空值引起的 我在db中的字段类型是允许空值。通过“插入到”手动插入被证明是成功的 根据我到目前为止所了解的情况,这是因为copy_expert将空值转换为文本,这就是它在时间戳数据类型上失败的原因。但是,我无法找到将null强制为null的正确语法。下面的代码片段: 打开(ab,'r')作为f的: cur.copy_expert(“从标准输入分隔符”“CSV头”“中复制客户营销(字段1、字段2、字段3)”,f) 错误
:
cur.copy_expert(“从标准输入分隔符”“CSV头”“中复制客户营销(字段1、字段2、字段3)”,f)
错误消息:
DataError:类型时间戳“”的输入语法无效。非常感谢您对脚本的任何帮助或为我指出正确的来源以继续阅读。我可以通过添加
force\u null(column\u name)
来做到这一点。例如,如果field3
是您的时间戳:
copy client_marketing (field1, field2, field3) from stdin with (
format csv,
delimiter ',',
header,
force_null (field3)
);
希望有帮助。请参见,它的作用就像一个符咒。非常感谢你。当我以前遇到你共享的链接时,我对如何输入语法感到非常困惑。看看你的片段,一切都清楚了。我被困在这几个星期了!