gpt4 book ai didi

mysql - 对于 MySQL 中的 LOAD DATA INFILE,是否有允许缺失数据等于 NULL 的变通方法?

转载 作者:可可西里 更新时间:2023-11-01 08:37:41 31 4
gpt4 key购买 nike

我有很多大型 csv 文件,其中 NULL 值存储为 ,,(即没有条目)。使用 LOAD DATA INFILE 会使这些 NULL 值变为零,即使我使用 var DOUBLE DEFAULT NULL 这样的字符串创建表也是如此。经过大量搜索,我发现这是一个 known "bug" ,尽管它可能是某些用户的一项功能。有没有一种方法可以在不进行预处理的情况下即时修复此问题?这些数据都是数字,因此零值与 NULL 有很大不同。

或者如果我必须做预处理,有没有一种最有希望处理数十个 100mb 到 1gb 的 csv 文件?谢谢!

最佳答案

使用 sed 进行最少的预处理,您就可以准备好数据以供导入。

for csvfile in *.csv
do
sed -i -e 's/^,/\\N,/' -e 's/,$/,\\N/' -e 's/,,/,\\N,/g' -e 's/,,/,\\N,/g' $csvfile
done

这应该对您的 CSV 文件进行就地编辑,并将空白值替换为 \N。更新 glob *.csv 以满足您的需求。

之所以有两个相同的正则表达式匹配 ,, 是因为我想不出另一种方法让它替换两个连续的空白值。例如。 ,,,

关于mysql - 对于 MySQL 中的 LOAD DATA INFILE,是否有允许缺失数据等于 NULL 的变通方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6431378/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com