Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x Python copy_expert加载带有空值的数据时出现问题_Python 3.x_Postgresql_Psycopg2 - Fatal编程技术网

Python 3.x Python copy_expert加载带有空值的数据时出现问题

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) 错误

我无法使用copy_expert将csv导入postgres中的表。该错误是由空值引起的

我在db中的字段类型是允许空值。通过“插入到”手动插入被证明是成功的

根据我到目前为止所了解的情况,这是因为copy_expert将空值转换为文本,这就是它在时间戳数据类型上失败的原因。但是,我无法找到将null强制为null的正确语法。下面的代码片段:

打开(ab,'r')作为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)
);

希望有帮助。请参见

,它的作用就像一个符咒。非常感谢你。当我以前遇到你共享的链接时,我对如何输入语法感到非常困惑。看看你的片段,一切都清楚了。我被困在这几个星期了!