微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

加载数据并忽略制表符

如何解决加载数据并忽略制表符

想要将制表符分隔的文件加载到单字段文本文件中,同时忽略而不删除制表符。我只能成功剥离选项卡(我使用了条形终止符,因为它不在我的数据中):

LOAD DATA LOCAL 
INFILE 'c:\\test\\test.txt' 
INTO TABLE text_rows 
CHaraCTER SET latin1
FIELDS TERMINATED BY '|' 
LInes TERMINATED BY '\n' 

这会加载

"PROGRAM_NAME   PROGRAM_URL CATALOG_NAME    "

作为

"PROGRAM_NAMEPROGRAM_URLCATALOG_NAME"

但是这个:

FIELDS TERMINATED BY '' 

仅加载:“PROGRAM_NAME”

解决方法

mysql> CREATE TABLE test (txt TEXT);
Query OK,0 rows affected (0.35 sec)

mysql> LOAD DATA
    -> INFILE 'C:\\ProgramData\\MySQL\\MySQL Server 8.0\\Uploads\\test.txt'
    -> INTO TABLE test
    -> FIELDS TERMINATED BY '|'
    -> LINES TERMINATED BY '\r\n';
Query OK,2 rows affected (0.09 sec)
Records: 2  Deleted: 0  Skipped: 0  Warnings: 0

mysql> SELECT REPLACE(txt,'\t','\\t') FROM test;
+----------------------------------------------+
| REPLACE(txt,'\\t')                    |
+----------------------------------------------+
| PROGRAM_NAME\tPROGRAM_URL\tCATALOG_NAME\t    |
| PROGRAM_NAME2\tPROGRAM_URL2\tCATALOG_NAME2\t |
+----------------------------------------------+
2 rows in set (0.00 sec)
,

谢谢你的帮助 - 我刚刚意识到我很愚蠢,在 Navicat 中查看表格似乎选项卡没有通过,但是尝试了几次不成功的配置,我认为它在没有验证的情况下失败了适当地。永远不要假设!

再看,在看到 Akina 的建议后,我确​​实得到了标签。将条形字符放入效果很好。谢谢你让我理直气壮!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。