如何使用cut命令忽略CSV文件中的逗号

时间:2019-01-07 06:37:05

标签: linux csv parsing command-line cut

sample.csv:-

sample,test,"Languages(Java","Rails)",1234,This-is-sample

第3列的值中包含逗号。

我正在使用以下命令提取最后3列的值。但是不会提取第5列。我需要在cut命令中更改什么才能获得预期的输出?

cut -d "," -f 3-5 sample.csv

预期输出:-

"Languages(Java","Rails)",1234,This-is-sample

实际结果:-

"Languages(Java,Rails)",1234

1 个答案:

答案 0 :(得分:0)

如果定界符也出现在值内,则不能真正使用cut。在CSV中,用双引号引起来的字段可以包含逗号。您应该使用了解这一​​点的工具。

#!/usr/bin/env python3

import csv
import sys

writer=csv.writer(sys.stdout)
for row in csv.reader(open("sample.csv")): 
    writer.writerow(row[2:5])