我有需要加载到mysql数据库的CSV文件。问题是每行数据后跟空行:
open_test_uuid|open_uuid|asn|bytes_download
O0037c645-0c7b-4bd0-a6dc-1983e6d0f814|Pf13e1f22-92f6-4a49-9bd3-2882373d0266|25255|11704458
O0037c645-0c7b-4bd0-a6dc-1983e6d0f814|Pf13e1f22-92f6-4a49-9bd3-2882373d0266|25255|11704458
我尝试了LOAD命令的差异组合,但没有任何作用。
LOAD DATA LOCAL INFILE '/Users/BauchMAC/Desktop/details_201301.csv'
INTO TABLE netztest
FIELDS TERMINATED BY '|'
OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n\r' <--HERE should be some magic line
IGNORE 1 ROWS;
我不知道如何解决这个问题...... 谢谢你的每一个想法
答案 0 :(得分:0)
你可以尝试
LINES TERMINATED BY '\n\n'
或
LINES TERMINATED BY '\r\n\r\n'
如果这不起作用,您可以在将文件提供给MySQL之前对其进行预处理。 如果您使用Linux,则可以运行:
cat file.csv | grep -v '^\s*$' > fixed.csv
<强>更新强>
也许有点Perl可以解决这个问题:
perl -e '$_=`cat file.csv`; s/[\r\n]+/\n/g; print'