无法在数据准备中的列中转义逗号

Posted

技术标签:

【中文标题】无法在数据准备中的列中转义逗号【英文标题】:can't escape comma in value in column in data prep 【发布时间】:2018-03-16 20:42:34 【问题描述】:

我正在将逗号分隔的文件导入 dataprep,以加载到 BigQuery,不幸的是,其中一列中有一个逗号,我似乎无法在文件被拆分为列之前将其删除。我已将原始格式的数据导入 dataprep,但似乎仍然无法正常工作。

【问题讨论】:

如果引用值中有逗号,则应保留它。你看到了什么错误信息? 不幸的是,它不在引用的值内。我没有看到任何错误,它加载了数据,但数据全部移动到一列上,用冒犯的逗号发布行。 【参考方案1】:

一种可能性是在将 csv 文件加载到 Dataprep 之前执行此操作。如果您在 Google 表格中有这样的文件:

并将其保存为 csv 文件包含逗号的字段用双引号括起来:

a,b,c,d
12,quick,test,"field with, comma"
23,just,testing,"includes, comma"
4,dummy,data,"this, field"

这将在 Dataprep 中正常阅读。您可以使用自己喜欢的语言以编程方式转义这些字段。如果您仍想在 Dataprep 中这样做并使用这样的 csv:

a,b,c,d
12,quick,test,field with, comma
23,just,testing,includes, comma
4,dummy,data,this, field

您可以在不选择自动检测结构选项(原始格式,就像您已经做过的那样)的情况下导入数据集。当您将其转换为新流程时,您将在右侧看到导入步骤。在这种情况下,点击第二步的铅笔图标进行编辑:

并选择要将函数应用于哪些列:

在这种情况下,我将匹配数减少到 3,但您可以根据用例使用忽略大小写左右。输出是:

【讨论】:

谢谢你,我无法早点回答。由于文件太大,我无法执行上述操作。最终将其加载到 dataproc 并从那里直接运行到 bigquery。 Dataprep 有一些问题,因为一旦您将日期字段设置为某个值,它似乎会再次编辑它。

以上是关于无法在数据准备中的列中转义逗号的主要内容,如果未能解决你的问题,请参考以下文章

cfspreadsheet 在逗号分隔的行插入中转义逗号

如何在映射到Spring配置类列表中的环境变量中转义逗号

AWS Data Pipeline 在 emr 活动步骤部分中转义逗号

在 Java 中转义 MySQL 字符串...没有准备好的语句

如何在 Oracle 中转义保留字?

如何为大查询制作类似 java 准备语句的查询或如何在大查询中转义参数