如何在Python中双引号字符串?

时间:2018-02-01 16:36:22

标签: python-2.7 csv

我想引用一个与CSV引用字符串相同的字符串。

>>> a='a"b'
>>> print dq(a)
"a""b"
>>>

如何在Python 2.7中编写dq函数?

显而易见的解决方案是'"'+a.replace('"','""')+'"',但我并不热衷于此。我觉得那里有一种更加诡计多端的方式。

CSV格式中可能还有其他问题(如果有""在此上下文中)可能会咬我。我不想使用csv模块,因为我实际上并没有编写CSV文件,而是我编写的数据与CSV几乎相同。也许我可以深入研究csv模块实现并以某种方式挂钩其内部。

1 个答案:

答案 0 :(得分:1)

您可以使用StringIO模块写入csv对象,您可以免费获得所有额外的引用方言,以及经过测试的代码。

  

If it looks like a duck, swims like a duck, and quacks like a duck, then it probably is a duck.

对于该特定字段,您正在编写的内容包含CSV可能具有的所有烦恼,因此它是CSV。如果你希望它保留一个实现细节,你可以包装CSV东西。

如果你想避免CSV和它的变种的所有可能的陷阱,你将最终重新实现整个事情,这是毫无意义的。