首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用双引号转义双引号

用双引号转义双引号
EN

Stack Overflow用户
提问于 2020-08-06 09:32:08
回答 1查看 223关注 0票数 0

我试图让csv作者使用双引号作为转义字符,如果双引号出现在数据字段中,则将双引号添加到双引号中。

我的功能是工作的一部分。

如有任何建议,将不胜感激。

输入记录:ab“c”,"def“

函数返回的实际输出: abc",def

我正在努力实现的输出“abc”,“def”

输入文件可能包含这样的记录:

1 "mystring1","mystring2“

2 "mystring3","mystring4“

3,“我的”ring5“,"mystring6”

注意,记录3在字段中有一个双引号。

我想通过添加以下的双引号来避免

一个双引号,然后引用整个字段。

1,mystring1,mystring2

2,mystring3,mystring4

3,"myst""ring5",mystring6

我调用的函数

代码语言:javascript
复制
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
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-06 11:41:01

下面是一个简单的解决方案,它接受string类型的输入元素。

代码语言:javascript
复制
vec = str('"ab"c","def""')
print(list(map(lambda x: '"' + x + '"' if '""' in x else x, [y.strip('"').replace('"', '""') for y in vec.split(',')])))

如果我能理解黄先生的话我很抱歉

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63280721

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档