为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
- 【TiDB 版本】:v4.0.2
- 【问题描述】:
load data infile 导入csv文件, 每列以" 引号包裹,导入后最后一列仍然出现引号。
期待的结果为columns enclosed by ‘"’ 生效,剔除CSV所有列的引号
为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
load data infile 导入csv文件, 每列以" 引号包裹,导入后最后一列仍然出现引号。
期待的结果为columns enclosed by ‘"’ 生效,剔除CSV所有列的引号
去掉引号,分隔符使用 tab 英文逗号看下是否可以
无引号情况测试为正常。 但CSV是客户提供,格式就是如此。 估计还是这 ENCLOSED BY的解析逻辑有问题。
如果方便可否将 load data 语句,表结构和 csv 提供一份,我们在分析一下
create table csv_fd21488451764be89d32b0f481724c00
( 测试数据备注
VARCHAR(2000), a
VARCHAR(2000), b
VARCHAR(2000), c
VARCHAR(2000), d
VARCHAR(2000), e
VARCHAR(2000), f
VARCHAR(2000), g
VARCHAR(2000) ) comment ‘dom’
load data local infile ‘upload/2.csv’ ignore into table csv_fd21488451764be89d32b0f481724c00 columns enclosed by ‘"’ terminated by ‘,’ LINES TERMINATED BY ’
’
ignore 1 lines (测试数据备注
, a
, b
, c
, d
, e
, f
, g
)
CSV文件: 2.csv (1.4 KB)
建表和导入SQL create-table.sql (484 字节)
辛苦在命令行执行下:
select tidb_version();
Release Version: v4.0.2
Edition: Community
Git Commit Hash: 328b6d0a955c4668cf3188d02a6df42e16eaab4e
Git Branch: heads/refs/tags/v4.0.2
UTC Build Time: 2020-07-01 08:19:48
GoVersion: go1.13
Race Enabled: false
TiKV Min Version: v3.0.0-60965b006877ca7234adaced7890d7b029ed1306
Check Table Before Drop: false
通过tiup部署v4.0.0 并tiup cluster upgrade 升级上来的。
你好,
解决办法。在 VIM 中使用 :%s/\r//g 删除掉 \r 之后可以正常导入。
我们也在看下是否可以在 load data 支持此换行符。
mysql 这边也有类似的问题:
此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。