python - 用 null python pandas 替换 NaN
问题描述
我正在尝试从熊猫数据框写入 AWS 红移:
df_tmp_rpt = pd.read_csv('path')
df_tmp_rpt = df_tmp_rpt[df_tmp_rpt['COL'] == 'VALUE']
df_tmp_rpt = df_tmp_rpt.replace(np.nan, null, regex=True)
records = df_tmp_rpt.to_records(index=False)
for record in records:
script_insert = ScriptReader.get_script(SCRIPT_PATH).format(record)
RedshiftDataManager.run_update(script_insert, DB_CONNECTION)
Redshift 需要格式 ('value1','value2',null) 来插入数据。这就是为什么我尝试在数据框中用 null 替换所有 NaN。我将如何实现这样的事情?(我需要一个空值而不是字符串'null')
提前感谢您的帮助
解决方案
这对我有用。
df_tmp_rpt = df_tmp_rpt.where(df_tmp_rpt.notna(), None)
这会将 Dataframe 中的所有 NaN 值替换为 None。None 在数据库中加载为 NULL。这适用于 MS SQL。
推荐阅读
- bash - 只计算成功的移动尝试
- apache-flink - FlinkSQL 无法注册动态嵌套模式
- python-3.x - for循环中的QTableWidget setItem仅在最后一行添加数据
- python - 对二维 numpy 数组的部分进行排序
- sed - 如何根据文件内容添加行 (sed)
- mongodb - 使用 MongoDB Atlas 连接字符串时出现循环依赖错误
- reactjs - 为什么使用 react-vis 图表运行“安装组件”Jest 测试时出现“意外标识符”错误?
- python - 有人可以帮我修复这个 ScrollView 吗?
- codenameone - 代号一中的本地化日期和时间
- javascript - 有人可以解释下面关于JS箭头功能的例子吗