我需要一根绳子
i = "1,'Test','items (one, two, etc.)',1,'long, list'"
提取下一个字符串的数组:
['1', "'Test'", "'items (one, two, etc.)'", '1', "'long, list'"]
借助regexpress
r=re.split(r',+(?=[^()]*(?:\(|$))', i)
我只收到下一个结果:
['1', "'Test'", "'items (one, two, etc.)'", '1', "'long", " list'"]
升级1
应支持NULL
i = "1,'Test',NULL,'items (one, two, etc.)',1,'long, list'"
['1', "'Test'", 'NULL', "'items (one, two, etc.)'", '1', "'long, list'"]
可以使用单引号拆分:
或与地图一起使用:
在python 3中使用map非常有效:
更好地使用python2和
itertools.imap
:所有这些函数都返回相同的输出条文本求值,因为它将数字求值为整数:
空行没有什么不同:
这是
csv
模块的任务:这里的关键是创建一个CSV读取器,将单引号指定为引号字符。你知道吗
在这种情况下你不需要
re.split
凯斯,你呢可以在列表理解中使用re.findall
:前面的正则表达式将匹配一个引号
'([^']*)'
或任何数字(\d
)之间的任何内容。你知道吗或者,作为一种更有效的方法,您可以使用
ast.literal_eval
:相关问题 更多 >
编程相关推荐