Python 3.x 如何使用pyodbc将pandas数据帧直接写入Netezza数据库?

Python 3.x 如何使用pyodbc将pandas数据帧直接写入Netezza数据库?,python-3.x,sqlalchemy,pyodbc,netezza,Python 3.x,Sqlalchemy,Pyodbc,Netezza,我在远程服务器上有Netezza数据库,我正在尝试使用Pyodbc写入数据库 连接在从数据库读取时工作。但是,在尝试写入时,我无法写入Netezza数据库。它显示以下错误: 错误:('HY000','[HY000]错误:第4列:字段不能包含空值(46)(SQLExecDirectW)' 在进一步检查第4列时,我发现指定问题中没有空值 另外,我用来写入数据库的代码片段如下: for row in Full_Text_All.itertuples(): srows = str(row[1:

我在远程服务器上有Netezza数据库,我正在尝试使用Pyodbc写入数据库

连接在从数据库读取时工作。但是,在尝试写入时,我无法写入Netezza数据库。它显示以下错误:

错误:('HY000','[HY000]错误:第4列:字段不能包含空值(46)(SQLExecDirectW)'

在进一步检查第4列时,我发现指定问题中没有空值

另外,我用来写入数据库的代码片段如下:

for row in Full_Text_All.itertuples():
     srows = str(row[1:]).strip("()")
     query2 = "insert into MERGED_SOURCES values('+srows+')"
在哪里,, 全文是数据帧的名称
MERGED_SOURCES是表的名称。

可能是在创建表时,第4列被定义为非空。 如果您可以访问表的DDL,则应该能够检查此项


如果为第4列指定了NOTNULL选项,我建议您仔细检查试图插入表中的数据:对于它们,第4列对应的值不应为NULL

嗨,帕斯凯谢谢你的迅速回复。。我已经检查了表,在定义任何列时没有使用NOTNULL约束。另外,我已经交叉检查了数据帧,没有NA的Null存在!!但是,数据帧中存在一个none值。。从Netteza读入Python时有什么问题吗?比如隐式类型转换?