如何用额外的空行加载csv文件?

时间:2015-11-30 17:50:51

标签: mysql sql

我有需要加载到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;

我不知道如何解决这个问题...... 谢谢你的每一个想法

1 个答案:

答案 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'