我有一个 csv 文件。
输入。
India|Andhra|asd,ged,ijn|telangana|41657|hgjd,dfef,edf|dfd
输出
India,Andhra,"asd,ged,ijn",telangana,41657,"hgjd,dfef,edf",dfd
答案1
使用csvformat
来自csvkit:
$ csvformat -d '|' file.csv
India,Andhra,"asd,ged,ijn",telangana,41657,"hgjd,dfef,edf",dfd
csvkit 工具箱中的工具是 CSV 感知的(它们都是用于修改和查询的 CSV 解析器,通常在命令行上处理 CSV 文件)。
在这里,我使用csvformat
重新格式化输入文件,并使用 指定输入中的字段分隔符是管道符号-d '|'
。默认情况下,输出将使用逗号作为字段分隔符,并且该工具将根据需要转义并引用内容。
答案2
如果你安装了红宝石:
ruby -rcsv -e '
rdr = CSV.new(File.new(ARGV.shift), col_sep: "|")
wtr = CSV.new($stdout)
rdr.each {|row| wtr << row}
' file.csv
India,Andhra,"asd,ged,ijn",telangana,41657,"hgjd,dfef,edf",dfd