如何用单引号包裹 CSV 列
How to wrap a CSV column with single 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.strip()
parts = line.split( ',' )
newParts = map( addQuotes, parts )
之后,运行在终端上输入以下命令:
python QuoteCSV.py < old.csv > new.csv
旁注:如果要用双引号引起来,可以将 addQuotes 函数的 return 语句更改为:
return '"'+str+'"'
使用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"
其他类似问题:
- Adding quotes and a tab to each element in a csv file
- Python to insert quotes to column in CSV
如何使用 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.py < old.csv > new.csv
旁注:如果要用双引号引起来,可以将 addQuotes 函数的 return 语句更改为:
return '"'+str+'"'
使用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"
其他类似问题:
- Adding quotes and a tab to each element in a csv file
- Python to insert quotes to column in CSV