我正在以
的形式检索大量数据6800 MAIN ST
如何格式化以使其看起来正常(数字和街道名称之间的一个空格),例如:
6800 MAIN ST
答案 0 :(得分:5)
In [733]: s='6800 MAIN ST'
In [734]: ' '.join(s.split())
Out[734]: '6800 MAIN ST'
你也可以使用re
作为@NPE提到,虽然你得到正则表达式模式编译它也不是很快。基准:
In [746]: s='asdf fasd zzzzzz ddddddd z'
In [747]: timeit ' '.join(s.split())
1000000 loops, best of 3: 545 ns per loop
In [748]: ptn=re.compile(r"\s+")
In [749]: timeit re.sub(ptn, ' ', s)
100000 loops, best of 3: 4.08 us per loop
答案 1 :(得分:3)
一种方法是使用正则表达式:
In [8]: s = "6800 MAIN ST"
In [9]: re.sub(r"\s+", " ", s)
Out[9]: '6800 MAIN ST'