Python 如何用单引号包装CSV列

Python 如何用单引号包装CSV列,python,csv,terminal,quotes,Python,Csv,Terminal,Quotes,如何使用Python脚本用单引号包装CSV列? 我正在尝试使用终端来完成此任务。使用以下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.st

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

使用以下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.pynew.csv

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

return '"'+str+'"'
使用模块操作csv。它是为了不再编写这种代码,也不必为csv方言(例如不同的分隔符)和何时引用等而烦恼

通读一遍,欣赏它为你做了什么,以及为什么你应该使用它

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.pycheck\u out.py
调用:

check.py:

bla,blubb,test
foo,,bar
bingo,bongo,bong
检查_out.py:

"bla","blubb","test"
"foo","","bar"
"bingo","bongo","bong"
其他类似问题:


@jornsharpe这是一个自我回答的问题。。。值得怀疑的…请注意,虽然是可以的,但他们仍然必须满足问题和答案的基本要求。我想知道如果我对q和a投了反对票,是否会被视为意甲联赛的反对票。。。对不起,Raj,但是如果我需要这个,我可能会使用csv模块,并将其配置为报价。您使用的是简单的字符串操作,可以快速向南移动。该死,我第一次答疑时没想到会有这种反应。我会记下来的。:/@PatrickArtner我在一个10k行的CSV文件上操作了这个,它工作得非常好。这是一个