mysql - 如何将以空格分隔的文本文件导入 MySQL?

标签 mysql load-data-infile mysqlimport

我需要将较大 (24MB) 的文本文件导入 MySQL 表中。每行看起来像这样:

1 1 0.008  0  0  0  0  0                                    

每个字段后有一个或多个空格,最后一个字段在换行符前约有 36 个空格。

如何将这样的文件导入 MySQL?从文档看来,LOAD DATA 期望所有字段都由完全相同的字符串终止。我试过了

LOAD DATA INFILE 'filename' INTO TABLE mytable FIELDS TERMINATED BY ' ';

但是 MySQL 会将一个以上空格的序列解释为分隔一个空字段。

有什么想法吗?

最佳答案

如果你在 unix/linux 上,那么你可以通过 sed 将其放入。

打开终端并输入:

sed 's/ \+/ /g' thefile > thefile.new

这会将多个空格的所有序列替换为一个空格。

关于mysql - 如何将以空格分隔的文本文件导入 MySQL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/156532/

相关文章:

MySQL:数字格式

mysql - 使用 Azure Kubernetes 服务中的 MySQL 数据库向外界公开 pod

mysql - 来自 XML Infile MySQL 的数据

mysql - 为什么 Table Import 显示错误 1366,Data looks good

MySQL 数据导出更改时间

mysql - 编写MapReduce ETL作业

mysql - MySQL中通过多列获取重复行

PHP 和 Ajax : Impossible to execute LOAD DATA LOCAL INFILE (mysql) from Ajax call

php - 如何在mysql中根据最近日期选择记录