DataWorks中csv数据存在英文逗号,导致数据错位怎么解决?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
如果CSV数据存在英文逗号,容易导致数据错位,您可以采取以下方法解决:
在CSV文件头部指定分隔符
可以在CSV文件第一行,使用COMMENT指定实际的分隔符:
Copy
COMMENT ','
字段1,字段2,字段3
值1,值2,值3
这样DataWorks就知道用,分隔了。
使用转义字符
如果数据本身就包含逗号,可在逗号前加上转义字符:
Copy
字段1,字段2,字段3
值1,\"值,2\",值3
修改实际分隔符
可以将CSV的分隔符从,改为其他符号,如;。
然后上传CSV时指定此分隔符:
Copy
字段1;字段2;字段3
值1;值,2;值3
指定转义字符
在上传CSV数据时,可以指定转义字符:
Copy
escapeChar '\'
字段1,字段2,字段3
值1\,值2,值3
escapeChar '\'代表使用\作为空格转义字符。
使用正斜杠替代逗号
如果数据允许,也可以考虑使用/替代逗号:
Copy
字段1/字段2/字段3
值1/值2/值3
然后上传CSV时指定/作为分隔符。
以上几种方法,可以有效解决CSV分隔符冲突问题,避免导入时候错位。
下载excel试一下,还是不行的话,下载前将 数据内容里的 逗号 替换为 其他符号,这个只能建议是换个切分符号试一试 或者源文件中 先替换掉英文逗号,此回答整理自钉群“DataWorks交流群(答疑@机器人)”
DataWorks基于MaxCompute/Hologres/EMR/CDP等大数据引擎,为数据仓库/数据湖/湖仓一体等解决方案提供统一的全链路大数据开发治理平台。