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

时间:2019-12-04 10:06:49

标签: 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。

1 个答案:

答案 0 :(得分:0)

您可以通过select管理适当的输出,而不是在编写csv期间重新填充空值

因此请尝试对空值使用正确的选择

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

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