尝试将 Python 数据帧插入 SQL table 时出错

Error while trying to insert Python dataframe into SQL table

我正在尝试将 .csv 文件的内容插入到 SQL 服务器数据库中。我可以在我的 csv 文件中插入没有 nulls 的列。很少有 blanks 的列,因此我无法将这些特定列与其他列一起插入。我创建了一个这样的 table;

CREATE TABLE [main].[table1](
    [Record_ID] [int] IDENTITY(1,1) NOT NULL,
    [account_id] [nvarchar](max) NULL,
    [business_name] [nvarchar] (max) NULL,
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

如上所述,我在 account_idbusiness_name 列中几乎没有空白。我可以毫无错误地插入其他列。当我尝试插入这两列时,出现这样的错误,

ProgrammingError: ('42000', '[42000] [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]The incoming tabular data stream (TDS) remote procedure call (RPC) protocol stream is incorrect. Parameter 4 (""): The supplied value is not a valid instance of data type float. Check the source data for invalid values. An example of an invalid value is data of numeric type with scale greater than precision. (8023) (SQLExecDirectW)')

不确定为什么我每次尝试插入 csv 文件内容时都会收到此消息。我已经在我的 insert 命令中处理了这一点,其中 null 将被允许。

插入命令:

cursor.execute("INSERT INTO main.table1(account_id,business_name) values(?,?)", row.account_id, row.business_name)

谁能告诉我如何解决这个问题?

如有任何帮助,我们将不胜感激。

我简单地包含了用 0 替换 NaN 的函数,它现在在我创建要加载的数据框 (df) 后立即使用以下代码行成功加载所有行

df = df.fillna(value=0)