如何为CSV文件中的字段添加引号?

tzcvj98z  于 2023-05-11  发布在  其他
关注(0)|答案(4)|浏览(225)

我有一个CSV文件

Brand,Type,Color
Porsche,Sport,Red
BMW,Coupe,Blue

我想加上引号,这样就可以了:

"Brand","Type","Color"
"Porsche","Sport","Red"
"BMW","Coupe","Blue"

做这件事最快的方法是什么?我将在cronjob中实现它。

xmakbtuz

xmakbtuz1#

使用sed:

sed -e 's/^\|$/"/g' -e 's/,/","/g' input
332nm8kg

332nm8kg2#

使用带有CSV库的语言来处理CSV数据通常更简洁:

ruby -rcsv -ne 'puts CSV.generate_line(CSV.parse_line($_), :force_quotes=>true)'
g6baxovj

g6baxovj3#

这可能对你有用(GNU sed):

sed -r 's/[^,]+/"&"/g' file

说明了"和转义字符的存在。

sed -E 's/[^\,"]*(("|[\].)[^"\,]*)*/"&"/g' file
apeeds0o

apeeds0o4#

awk

awk '{gsub(/[^,]+/,"\"&\"")}1' file.csv

相关问题