【問題描述】:使用pymssql連接數(shù)SQL Server數(shù)據(jù)庫,插入數(shù)據(jù)是報錯:(pymssql.ProgrammingError) (207, b"Invalid column name 'nan'.DB-Lib error message 20018, severity 16:\nGeneral SQL Server error: Check
【問題分析】:原數(shù)據(jù)是pandas的DataFrame結(jié)構(gòu)访递,pandas在遇到空值是會將其轉(zhuǎn)換為
np.nan
值是尖,而非python通用的 None
廓推,故推測bug是由于插入數(shù)據(jù)中含有無法識別的np.nan
值導(dǎo)致氛雪。【解決方案】:在數(shù)據(jù)插入前认然,使用
df.replace(np.nan, None, inplace=True)
將np.nan
值轉(zhuǎn)換為可識別的None
后,問題解決酌伊。