python - 将mysql数据导出到csv时不要将NULL值转换为空字符串
问题描述
我正在使用 pymysql 游标将数据从 mysql 导出到 csv,如下所示:
cur = conn.cursor()
c = csv.writer(open(csvFilePath, "w",newline='',encoding='utf-8'))
for row in cur:
c.writerow(list(row))
但是每当我在 mysql 列中遇到空值时,光标就会在 csv 中写入一个空字符串“”。我想在 csv 中写入“NULL”字符串,以便在将其上传到另一个数据库(如 redshift)时将其转换为 null。
解决方案
您可以管理来自 select 的正确输出,而不是在编写 csv 期间替换 null 值
所以尝试对空值使用适当的选择
select col1, col2, ifnull(your_possible_null_col, 'NULL'), ...
from your_table
where ...
您还可以查看 INTO OUTFILE 以避免逐行管理
推荐阅读
- com - 释放COM接口的正确方法
- javascript - 页面重定向后如何打开jquery ui模式
- winforms - 当 JavaScript 处理 OnBeforeUnload 时,如何使用 CefSharp 显示自定义消息?
- ios - 如何以编程方式从 samba 下载文件夹?
- grails - 如何在 urlmappings 文件中映射 500 错误?
- android - android 和 ios 的 React Native 指纹认证
- docker - 将 python 项目添加到 docker 中并在 jupyter notebook 中进行测试
- ios - 如何更改 UITextField 中的密码屏蔽时间?或者它有一个默认行为
- python - Django删除确认视图显示变量名而不是信息
- python - Pandas 无法识别 csv 文件中的 datetimeindex