如何用单引号括住CSV列

时间:2018-11-28 20:38:06

标签: python csv terminal quotes

如何使用Python脚本将单引号括起来的CSV列? 我正在尝试使用终端来完成此任务。

2 个答案:

答案 0 :(得分:1)

使用csv模块来操作csv。无需再编写此类代码,也不必费心使用csv方言(例如不同的分隔符)以及何时引用等。

通读the documentation以了解它对您有什么作用以及为什么要使用它。

import sys
import csv


reader = csv.reader(sys.stdin)
writer = csv.writer(sys.stdout, delimiter=',', quoting=csv.QUOTE_ALL)
for row in reader:
    writer.writerow(row)

致电python test.py < check.py > check_out.py

check.py:

bla,blubb,test
foo,,bar
bingo,bongo,bong

check_out.py:

"bla","blubb","test"
"foo","","bar"
"bingo","bongo","bong"

其他类似问题:

答案 1 :(得分:0)

使用以下Python脚本:

import sys
import re

def addQuotes( str ):
    matches = re.match( '^".*"$', str )
    if matches == None:
        return "'" + str + "'"
    return str

for line in sys.stdin:
    line = line.strip()
    parts = line.split( ',' )
    newParts = map( addQuotes, parts )

然后,在终端上运行以下命令:

  

python QuoteCSV.py new.csv

旁注:如果要用双引号引起来,则可以将addQuotes函数的return语句更改为:

return '"'+str+'"'