Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 如何加载带有额外空行的csv文件?_Mysql_Sql - Fatal编程技术网

Mysql 如何加载带有额外空行的csv文件?

Mysql 如何加载带有额外空行的csv文件?,mysql,sql,Mysql,Sql,我有CSV文件,我需要加载到mysql数据库。问题是每一行数据后面都有一个空行: 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-288

我有CSV文件,我需要加载到mysql数据库。问题是每一行数据后面都有一个空行:

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 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;
加载数据本地填充'/Users/BauchMAC/Desktop/details_201301.csv'
进入表格netztest
以“|”结尾的字段
可选地由“”括起
以“\n\r”结尾的行可以尝试

LINES TERMINATED BY '\n\n'

如果这不起作用,您可以在将文件提供给MySQL之前对其进行预处理。 如果您在linux上,则可以运行以下命令:

cat file.csv | grep -v '^\s*$' > fixed.csv
更新

也许一点Perl就可以做到这一点:

perl -e '$_=`cat file.csv`; s/[\r\n]+/\n/g; print'
你可以试试

LINES TERMINATED BY '\n\n'

如果这不起作用,您可以在将文件提供给MySQL之前对其进行预处理。 如果您在linux上,则可以运行以下命令:

cat file.csv | grep -v '^\s*$' > fixed.csv
更新

也许一点Perl就可以做到这一点:

perl -e '$_=`cat file.csv`; s/[\r\n]+/\n/g; print'

我尝试过terminal命令,但它返回“binary files fixed.csv matches”我做了一些研究,试图添加“-a“但它只返回我的第一排……我刚注意到路径,你可能在Windows上,对吗?”?您可以尝试使用编辑器修复该文件-它不应该是二进制文件-但这可能很麻烦。CSV文件是如何创建的?不,我在Mac上。它最初是json数据格式,但有人根据iternet将格式更改为csv,使用Pythonac,它应该可以工作,但是当我尝试你的脚本或任何其他没有“-a”的脚本时,我只得到了“new_file.csv”,其中填充了“Binary file new_file.csv matches”它可能是一开始就有一个二进制文件,但这不应该让grep认为它是一个二进制文件。在任何情况下,我添加了一个Perl oneliner,它应该可以完成任务。我尝试了terminal命令,但它返回“binary files fixed.csv matches”我做了一些研究,我尝试添加“-a”,但它只返回我的第一行…我注意到了路径,您可能在Windows上,对吗?您可以尝试使用编辑器修复该文件-它不应该是二进制文件-但这可能很麻烦。CSV文件是如何创建的?不,我在Mac上。它最初是json数据格式,但有人根据iternet将格式更改为csv,使用Pythonac,它应该可以工作,但是当我尝试你的脚本或任何其他没有“-a”的脚本时,我只得到了“new_file.csv”,其中填充了“Binary file new_file.csv matches”它可能是一开始就有一个二进制文件,但这不应该让grep认为它是一个二进制文件。在任何情况下,我添加了一个Perl oneliner,它应该可以完成这项工作。