![Unix环境下CSV文件中分号替换为逗号时的唯一分隔符?](https://linux22.com/image/104008/Unix%E7%8E%AF%E5%A2%83%E4%B8%8BCSV%E6%96%87%E4%BB%B6%E4%B8%AD%E5%88%86%E5%8F%B7%E6%9B%BF%E6%8D%A2%E4%B8%BA%E9%80%97%E5%8F%B7%E6%97%B6%E7%9A%84%E5%94%AF%E4%B8%80%E5%88%86%E9%9A%94%E7%AC%A6%EF%BC%9F.png)
Azure 机器学习坚持要求我在 CSV 文件中使用逗号而不是分号作为分隔符。这在 *ix 计算机中破坏了很多东西,在这些计算机中我们使用分号并且单元格值有很多逗号。
转义字符或替换单元格中所有逗号的正确方法是什么?是否存在一些 Unix 工具可以避免或帮助解决此格式问题和可能的转换?
答案1
如果字段中有逗号,则生成的 CSV 文件应该生成某种方式来从这些逗号中划分字段。例如,这通常是通过在这些字段周围加上引号来完成的:
"field,1","field,2"
否则,无法区分字段与字段的一部分之间的区别。无论你选择什么角色,这个问题都存在。
如果需要,您可以搜索这些项目并将其替换为您自己的角色,如上例所示:
sed -e 's/","/"~"/g' csvfile