我有一个20GB的文件,里面有点数据。数据未正确导出,并且整个标签空间。我的意思是文件就像这样
POINT( -38.071489872015 140.99467884981 ),
POINT( -38.071489872015 140.99525003481 ),
POINT( -38.071489872015 140.99582121982 ),
POINT( -38.071100465759 140.99147345891 ),
POINT( -38.071100465759 140.99204464087 ),
有没有办法忽略第一个和最后一个标签空间?
我当前的加载数据脚本是
LOAD DATA INFILE 'C:/ProgramData/MySQL/MySQL Server 5.7/Uploads/import.txt'
INTO TABLE tblImport
LINES TERMINATED BY ','
(@pointData)
SET
pointData = GeomFromText(@pointData);
但我收到了错误
[Err] 3037 - Invalid GIS data provided to function st_geometryfromtext.
由于
答案 0 :(得分:0)
sed
是一种非常有效的操作文本数据的工具。您可能还希望保存已清理的数据集以防导入失败,而不是清除它并将其传送到mysql
,您也可以这样做。
尝试
sed $'s/\t*//g' point_data.sql | head -n 20 > point_data_no_tabs_short.sql
清理20行,确保达到预期效果。
如果有效,请就地清理整个文件:
sed -i.bak $'s/\t*//g' point_data.sql
或创建一个已清理的副本:
sed $'s/\t*//g' point_data.sql > point_data_no_tabs.sql