利用pandas往数据库写入数据遇空值报错,搜索了大量资料需要将nan转化为none。
网上搜索的将nan值转化为none值的方法:
df = df.where(df.notnull(),None)
试了N次还是不行!
用df=df.where(~df.isna(),'None')
import pandas as pd
data={'a':[1,2,3,None],'b':['l','k','j','k'],'c':['12r','45h','45u','456u']}
df=pd.DataFrame(data)
print(df)
df=df.where(~df.isna(),'None')
print(df)
a b c
0 1.0 l 12r
1 2.0 k 45h
2 3.0 j 45u
3 None k 456u
Nan是pandas中的空值,null是数据库中的空值,None是python中的空对象,你填None除非是字符串
也可以用df.fillna('None'),感觉这样没必要,不如填充一个你认为不可能出现的值