我想使用LOAD DATA INFILE
命令加载CSV文件,但逗号后面的空格不一致,即有逗号后跟空格和逗号不是。
我尝试使用FIELDS TERMINATED BY ","
指令,但结果表中的某些字段包含一个前导空格;如果输入是
abc,def, ghi, klm
然后加载我的表
column1 = 'abc'
column2 = 'def'
column3 = ' ghi'
column4 = ' klm'
请注意,第3列和第4列包含前导空格。
我希望我的列不包含前导空格。我该怎么做?
答案 0 :(得分:4)
这会有用吗?
LOAD DATA INFILE 'file.csv'
INTO TABLE t1 (column1, @col2, @col3, @col4)
SET
column2 = TRIM(@col2),
column3 = TRIM(@col3),
column4 = TRIM(@col4)
答案 1 :(得分:1)
您可以使用简短的sed
替换模式来执行此操作:
sed -i 's/, /,/g' file.csv
之后,file.csv(其内容为“abc,def,ghi,klm”)包含:
abc,def,ghi,klm