我很抱歉发布这个,但我已经杀了很多时间来处理这个失败。所以,一个和所有的正则表达式+ Python挑战:正则表达式+ python挑战! Wrangling的数据几乎是正常的
我正在处理大部分经常格式化的数据。公司列表被合并为一个字符串,如
`Company Inc,Company, LLC,Company`
没有引号来划定条目。使用常规的,上面的例子中,我可以这样做:
>>> re.split(r',\b', 'Company Inc,Company, LLC,Company')
['Company Inc', 'Company, LLC', 'Company']
不幸的是,某些字符串被不规则格式,如:
`IBP, Inc,Tyson Foods,Inc.`
其中,Inc
不是由空间从Foods
分离。因此,使用r',\b'
,我得到这个:
>>> re.split(r',\b', 'IBP, Inc,Tyson Foods,Inc.')
['IBP, Inc', 'Tyson Foods', 'Inc.']
我希望得到这样的:
['IBP, Inc', 'Tyson Foods,Inc.']
,你会在这种情况下怎么办?
使用ms excel来纠缠它 – 2013-02-22 22:45:34
您的规则没有明确定义 - 这是不可能的。 'Inc.,LLC,Inc.'应该如何解析? ' '公司', '有限责任公司','Inc.''? ' '公司,有限责任公司',“Inc.''? ''Inc.','LLC,Inc.''?你用人类的直觉和经验去分裂这些名字。直到你可以将你的直觉表达为一系列规则,正则表达式不会对你有所帮助。 – Eric 2013-02-22 22:48:52
老实说?我可能会用逗号分割整个事物,然后将'Inc [。]','LLC'等特殊情况合并回来,假设它总是'Company Name [,] SomethingSpecial'。你希望'c,Comp'在逗号上分割,但是'Inc''不要,我不能看到没有特殊框架会发生什么。也可以明确说明它。 – DSM 2013-02-22 22:49:24