我有一个CSV文件,我想将其视为源代码.基本上我想采用csv行并使用它们,就像它们调用具有所有字符串参数的函数一样.
问题是,当文本中有逗号时,单个元素仅被双引号.
是否有一种快速方法可以在csv行中添加双引号的所有元素.
原始文档是一个excel文件,因此excel中的任何内容都可以,但欢迎其他快速工具.
尝试使用以下Python脚本,只是为了好玩.
它会在CSV中添加引号,但不包含它们.
这是一个非常简单的方法 - 您可能会发现不适合您的极端情况(带有嵌入式引号和逗号的字符串?).修理它!
(哦,这可以用更少的代码行编写,我知道.这不是重点).
import sys
import re
def addQuotes( str ):
matches = re.match( '^".*"$', str )
if matches == None:
return '"' + str + '"'
return str
# Iterate over standard input. NOTE - this isn't line-buffered, don't try using
# this script interactively...
for line in sys.stdin:
# Remove trailing linefeed.
line = line.strip()
# Split the line into parts separated by commas.
parts = line.split( ',' )
# Add quotes to each part that doesn't have quotes already.
newParts = map( addQuotes, parts )
# Concatenate the parts back to a single line.
concatParts = ','.join( newParts )
# And print it.
print concatParts
Run Code Online (Sandbox Code Playgroud)
使用类似的方法将CSV文件传输到此文件
python QuoteCSV.py < input.csv
Run Code Online (Sandbox Code Playgroud)