【问题描述】:使用pymssql连接数SQL Server数据库,插入数据是报错:(pymssql.ProgrammingError) (207, b"Invalid column name 'nan'.DB-Lib error message 20018, severity 16:\nGeneral SQL Server error: Check
【问题分析】:原数据是pandas的DataFrame结构,pandas在遇到空值是会将其转换为
np.nan
值,而非python通用的 None
,故推测bug是由于插入数据中含有无法识别的np.nan
值导致。【解决方案】:在数据插入前,使用
df.replace(np.nan, None, inplace=True)
将np.nan
值转换为可识别的None
后,问题解决。
网友评论