在以下CSV文件中:
name, number, value
Mike, 1000, 21.555522
Justin, 1001, 32.113
Josh, 1002, 998.2101
将它转换为以下文件是否可行?
name number value
Mike 1,000 21.6
Justin 1,001 32.1
Josh 1,002 998.2
请注意,第二个文件现在是制表符分隔文件,因为第二列现在用逗号分隔,因此不能再用作CSV文件。另外,我想在一个小数点处舍入第三列的值。我想只在Unix命令中处理这些任务,因为我不想为这样一个微不足道的问题编写Python代码...我认为cut
或sed
使其可行,但是在我搜索时没有得到任何答案......所以请帮助我得到我想要的东西。
感谢。
答案 0 :(得分:1)
awk -F, 'NR==1 { printf "%s\t%s\t%s\n", $1, $2, $3 }
NR!=1 { printf "%s\t%'\''d\t%.1f\n", $1, $2, $3 }'
序列'\''
在格式字符串中嵌入单引号。 %'d
将逗号放入输出中。
name number value
Mike 1,000 21.6
Justin 1,001 32.1
Josh 1,002 998.2
在Mac OS X 10.8.4上测试;因人而异。 (数字和值标题上的奇数对齐是因为数据文件中逗号之后的空格。)