MySQL 在文件中加载数据 - 将所有列的特定值替换为 null

MySQL load data in file - replace specific value with null for all columns

我正在尝试使用 MySQL load data infile 语句导入大型 csv 文件。我有一个问题 - 当客户向我们提供此数据时,他们使用自定义的缺失值指示符 - 它们表示为@NA。现在,对于所有带有文本的字段,我将其作为@NA,对于所有整数或浮点变量,我将其作为 0 而不是 NULL。我想知道当我为我尝试导入的每个字段上传文件时是否有一种方法可以指示自定义 NULL 占位符?

似乎没有办法用内置的 MySQL load data infile 函数来做到这一点。

我不得不通过 Python Pandas 提出解决方案 - 它很好地支持自定义 NULL 值。

df = pd.read_csv(r"file.csv", sep=",", na_values = "@NA")
df.to_sql(name='table', con=engine,if_exists = 'append', index = False, chunksize=100000)