处理 CSV 文件中包含逗号的数据
Handling data containing comma in a CSV file
我有一个 CSV 文件,我正在尝试从 Amazon S3 中读取 Mosaic Decisions[=26] =].此文件包含一个 Address 列,其中数据本身包含一个 comma.
文件中的示例数据如下所示:
Address
sl,name,address
1,Ratan Kumar,FlatNo 122,Mumbai,Maharashtra
在这种情况下,地址 字段被分为 3 列作为地址、Missing_header_0、Missing_header_1,数据被读取为
sl,name,address,Missing_header_0, Missing_header_1
1,Ratan Kumar,FlatNo 122,Mumbai,Maharashtra
这会破坏实际数据并覆盖下一列数据
我们怎样才能避免这种情况?
为避免这种情况,
- 打开Reader节点配置
- 在配置选项卡中可用的报价文本框中传递单引号 (') 或双引号 (")
Mosaic Decisions 的这一功能允许用引号将每个字段中的数据括起来。
这会得到想要的结果。
包含分隔符的字段应该用双引号引起来:
sl,name,address
1,Ratan Kumar,"FlatNo 122,Mumbai,Maharashtra"
如果您无法控制此文件的创建,您可以联系创建者并要求修复格式错误的 csv 文件,或者编写一些自定义 code/script 来解析前 2 个字段并处理其余字段行的第三个字段(如果地址字段确实是最后一个字段)。
我有一个 CSV 文件,我正在尝试从 Amazon S3 中读取 Mosaic Decisions[=26] =].此文件包含一个 Address 列,其中数据本身包含一个 comma.
文件中的示例数据如下所示:
Address
sl,name,address
1,Ratan Kumar,FlatNo 122,Mumbai,Maharashtra
在这种情况下,地址 字段被分为 3 列作为地址、Missing_header_0、Missing_header_1,数据被读取为
sl,name,address,Missing_header_0, Missing_header_1
1,Ratan Kumar,FlatNo 122,Mumbai,Maharashtra
这会破坏实际数据并覆盖下一列数据 我们怎样才能避免这种情况?
为避免这种情况,
- 打开Reader节点配置
- 在配置选项卡中可用的报价文本框中传递单引号 (') 或双引号 (")
Mosaic Decisions 的这一功能允许用引号将每个字段中的数据括起来。
这会得到想要的结果。
包含分隔符的字段应该用双引号引起来:
sl,name,address
1,Ratan Kumar,"FlatNo 122,Mumbai,Maharashtra"
如果您无法控制此文件的创建,您可以联系创建者并要求修复格式错误的 csv 文件,或者编写一些自定义 code/script 来解析前 2 个字段并处理其余字段行的第三个字段(如果地址字段确实是最后一个字段)。