将具有空值的 pandas 数据帧保存到 SQL Server 表中的 nvarchar 列中会导致“n.n”存储在表中

问题描述 投票:0回答:1

我正在尝试使用 pyodbc 连接将 pandas 数据帧保存到 SQL Server 中。数据框中名为

validation
的列之一由 JSON 字符串组成,对应的 SQL Server 列是
nvarchar(max)
列。

validation
列中不为空的值会毫无问题地保存在 SQL Server 表中。

表示为

NaN
的空值在 SQL Server 表中显示为
n.n

SQL Server 表中其他可为空的列没有此问题,而且我无法弄清楚为什么会出现此问题。

有问题的列看起来像:

> df['column']
0    [{"a":true...
1    [{"b":false...
2               NaN
3               NaN
4               NaN
[{"a":true...
[{"b":false...
n.n
n.n
n.n

关于导致此问题的原因有什么想法吗?

sql-server pandas pyodbc
1个回答
0
投票

您需要将 NaN 值转换为 None,NaN 值是数字类型,将转换为浮点数。这就是为什么你会得到 n.n .

© www.soinside.com 2019 - 2024. All rights reserved.