我需要将较大的(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会将一个以上的空格序列解释为分隔空字段。
有什么想法吗?
发布于 2008-10-01 07:19:52
如果您使用的是unix/linux,那么您可以将其放入sed。
打开终端并键入:
sed 's/ \+/ /g' thefile > thefile.new这会将多个空格的所有序列替换为一个空格。
发布于 2011-03-29 01:44:36
如果你使用的是Windows,那就用Excel吧。
Excel将导入一个以空格分隔的文件(选中“导入”菜单中的“将后续分隔符视为一个”框)。
然后,您可以简单地将文件另存为CSV,并使用以下命令导入到MySQL中:
LOAD DATA INFILE 'filename' INTO TABLE mytable FIELDS TERMINATED BY ','; 发布于 2008-10-01 07:26:42
您还可以使用Jauco发布的相同命令将分隔符更改为';‘或\n。这也会有所帮助。
https://stackoverflow.com/questions/156532
复制相似问题