首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >转义Presto中的所有特殊字符

转义Presto中的所有特殊字符
EN

Stack Overflow用户
提问于 2019-02-11 11:59:45
回答 1查看 4.2K关注 0票数 0

将数据上载到S3,然后上传到Presto。但是由于文件中数据的问题,我们在从S3上传到Presto时遇到了问题。元数据的格式是正确的,但是由于B列的问题,它们正在失败。

A;B;日期

环境保护局;能源销售和分配;209-01-11 12:10:13

环境保护局;De MARIA G rfaPepeer A/S;2019-02- 12 :10:13

扫描转换A/S;2019-02- 11 :10:12

环保局;*Mega;2019-02- 11 :10:13

环保局;sAYSl-S hAAdk Oy;2019-02- 11 :11:11 :11

我们在前面的步骤(Informatica )中添加替换公式,以添加\并正确读取值。是否有需要查找并添加\的字符列表?

EN

回答 1

Stack Overflow用户

发布于 2019-04-07 11:57:43

问题是,按照标准,如果B列可以包含分隔符,那么应该在该列上添加引号。如果里面有引号( 99%可能会发生什么),那么您应该在前面添加转义字符。

代码语言:javascript
运行
复制
A;B;DATE
EPA;"company";01/01/2000
EPA;"Super \"company\""; 01/01/2000 
EPA,"\"dadad\" \;"; 01/01/2000

我也有类似的问题,用正则表达式很容易解决:

在您的场景中,您可以搜索:

(^EPA;)并将其替换为:$1" ==> s/(^EPA;)/$1"/g

(;[0-9]{1,2}/[0-9]{1,2})并将其替换为:"$1 ==> s/\s*(;[0-9]{1,2}/[0-9]{1,2})/"$1/g

最后一步将是全球反斜杠的浓缩:

代码语言:javascript
运行
复制
s/([^;"]|;")(")([^;\n])/$1\\$2$3/g

请看一下:https://fullouterjoin.wordpress.com/2019/04/05/dealing-with-broken-csv-strings-with-missing-escape-characters-powercenter/

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54630143

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档