python - 将 mysql 数据导出到 csv 时不要将 NULL 值转换为空字符串

标签 python mysql csv pymysql

我正在使用 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 期间替换空值

所以尝试对空值使用正确的选择

  select col1, col2, ifnull(your_possible_null_col, 'NULL'), ...
  from your_table 
  where  ... 

您还可以查看 INTO OUTFILE 以避免逐行管理

关于python - 将 mysql 数据导出到 csv 时不要将 NULL 值转换为空字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59173458/

相关文章:

python - Pylint、PyChecker 还是 PyFlakes?

MySql Access VB

python - 如何在 Python 中写入临时文件并再次从中读取?

关闭 PyQt4 Gui 应用程序后 Python 内核崩溃

python - python 的顶点着色 - 色数 X(G)

python - 如何在 ubuntu 中的 virtualbox 安装的驱动器共享文件夹上创建 python3 virtualenv

php - 使用触发器通过外键创建新值

php - 在达到特定时间段和/或行数后更改 mysql 默认值?

java - 如何将 xlsx 文件转换为 csv?

ruby - 如何在 ruby​​ 中读取没有 quote_char 的 CSV?