rph*_*rph 2 python csv parsing
我有一个CSV字符串,其中一些项目可能被{}逗号括在里面.我想在列表中收集字符串值.
在列表中收集值的最pythonic方法是什么?
例1 'a,b,c':,预期输出['a', 'b', 'c']
例2 '{aa,ab}, b, c':,预期输出['{aa,ab}','b','c']
例3: '{aa,ab}, {bb,b}, c'预期输出['{aa,ab}', '{bb,b}', 'c']
我试图使用s.split(',')它,它适用于例1,但会陷入案例2和3.
我相信这个问题(如何拆分但忽略引用字符串中的分隔符,在python中?)与我的问题非常相似.但我无法弄清楚要使用的正确的正则表达式语法.
解决方案实际上非常相似:
import re
PATTERN = re.compile(r'''\s*((?:[^,{]|\{[^{]*\})+)\s*''')
data = '{aa,ab}, {bb,b}, c'
print(PATTERN.split(data)[1::2])
Run Code Online (Sandbox Code Playgroud)
会给:
['{aa,ab}', '{bb,b}', 'c']
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
70 次 |
| 最近记录: |