假设以下代码(注意字符串中的逗号):
>>> a = ['1',",2","3,"]
Run Code Online (Sandbox Code Playgroud)
我需要将值连接成一个字符串.天真的例子:
>>> b = ",".join(a)
>>> b
'1,,2,3,'
Run Code Online (Sandbox Code Playgroud)
后来我需要再次拆分生成的对象:
>>> b.split(',')
['1', '', '2', '3', '']
Run Code Online (Sandbox Code Playgroud)
但是,我要找的结果是原始列表:
['1', ',2', '3,']
Run Code Online (Sandbox Code Playgroud)
在此过程中保护逗号的最简单方法是什么?我提出的最佳解决方案看起来相当丑陋.
注意:逗号只是一个例子.字符串可以包含任何字符.我可以选择其他字符作为分隔符.
字符串可以包含任何字符.
如果无论您使用什么作为分隔符,项目本身都可能包含分隔符,然后使用csv模块:
import csv
class PseudoFile(object):
# http://stackoverflow.com/a/8712426/190597
def write(self, string):
return string
writer = csv.writer(PseudoFile())
Run Code Online (Sandbox Code Playgroud)
这a
使用逗号连接项目:
a = ['1',",2","3,"]
line = writer.writerow(a)
print(line)
# 1,",2","3,"
Run Code Online (Sandbox Code Playgroud)
这a
从line
以下方面恢复:
print(next(csv.reader([line])))
# ['1', ',2', '3,']
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
368 次 |
最近记录: |