如何使用Python脚本将单引号括起来的CSV列? 我正在尝试使用终端来完成此任务。
答案 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+'"'