pandas NaN转换为None

在python中,用pandas处理数据非常方便。
但是有时候从其他地方读取数据时,会有异常值需要处理。比如,我们要从excel读取数据然后调用接口写入数据库时,读取到的空值是NaN,但是,接口接收的对应单元格数据应该是None,这时候怎么处理呢?当然,用pandas做这个事也是非常容易的。示例如下:

原始数据:
在这里插入图片描述
示例代码:

import pandas as pd
        
df = pd.read_excel('data/test_data.xlsx')
# 将非空数据保留,空数据用None替换
df = df.where(df.notnull(), None)
print(df)

输出结果:

   id value
0   1   100
1   2  None
2   3  None
3   4    50