用双引号转义双引号
Escape a double quote with a double quote
我正在尝试让 csv 编写器使用双引号作为转义字符,如果双引号出现在数据字段中,则将双引号添加到双引号中。
我的函数是 Apache Beam Dataflow 作业的一部分。
如有任何建议,我们将不胜感激。
输入记录:
"ab"c","def"
我的函数实际输出returns:
abc", def
我想要达到的输出
"abc""", def
输入文件可能包含这样的记录:
1, "mystring1","mystring2"
2、"mystring3","mystring4"
3、"myst"ring5","mystring6"
通知记录 3 字段中有双引号。
我想通过添加
来转义双引号
在它前面加上双引号,然后引用整个字段。
1, mystring1,mystring2
2、mystring3,mystring4
3、“神秘”“ring5”,mystring6
我正在调用的函数
def parse_file(element):
for line in csv.reader([element], quotechar='"', delimiter=','):
output_str = io.StringIO()
cw = csv.writer(output_str, quotechar='"', delimiter=',', escapechar='"', quoting=csv.QUOTE_MINIMAL)
cw.writerow(line)
output_str.close()
clean_line = ', '.join(line)
return clean_line
这是一个简单的解决方案,它采用字符串类型的输入元素。
vec = str('"ab"c","def""')
print(list(map(lambda x: '"' + x + '"' if '""' in x else x, [y.strip('"').replace('"', '""') for y in vec.split(',')])))
如果我理解错了什么,我深表歉意
我正在尝试让 csv 编写器使用双引号作为转义字符,如果双引号出现在数据字段中,则将双引号添加到双引号中。
我的函数是 Apache Beam Dataflow 作业的一部分。
如有任何建议,我们将不胜感激。
输入记录: "ab"c","def"
我的函数实际输出returns: abc", def
我想要达到的输出 "abc""", def
输入文件可能包含这样的记录:
1, "mystring1","mystring2"
2、"mystring3","mystring4"
3、"myst"ring5","mystring6"
通知记录 3 字段中有双引号。
我想通过添加
来转义双引号
在它前面加上双引号,然后引用整个字段。
1, mystring1,mystring2
2、mystring3,mystring4
3、“神秘”“ring5”,mystring6
我正在调用的函数
def parse_file(element):
for line in csv.reader([element], quotechar='"', delimiter=','):
output_str = io.StringIO()
cw = csv.writer(output_str, quotechar='"', delimiter=',', escapechar='"', quoting=csv.QUOTE_MINIMAL)
cw.writerow(line)
output_str.close()
clean_line = ', '.join(line)
return clean_line
这是一个简单的解决方案,它采用字符串类型的输入元素。
vec = str('"ab"c","def""')
print(list(map(lambda x: '"' + x + '"' if '""' in x else x, [y.strip('"').replace('"', '""') for y in vec.split(',')])))
如果我理解错了什么,我深表歉意