擅长:python、mysql、java
<p>假设地址仅为字母和空格,其余为空格分隔,而建筑编号<em>总是以数字</em>开头,这可以通过以下方式实现:</p>
<pre><code>import re
s = ['Iso Omena 8 a 2', 'Xstreet 2', 'Isö Ømenå 8 a 2']
for addr in s:
street = re.findall('[^\d]*', addr)[0].strip()
rest = addr[len(street):].strip().split(' ')
print(street, rest)
# Iso Omena ['8', 'a', '2']
# Xstreet ['2']
# Isö Ømenå ['8', 'a', '2']
</code></pre>
<p>或者,如果您希望将所有内容都放在一个数据帧中:</p>
^{pr2}$
<p>编辑:建筑物编号只在“-”符号的左边:</p>
<p>您可以将<code>df.loc[i,(col)] = val</code>替换为</p>
<pre><code>df.loc[i,(col)] = re.findall('[^-]*', val)[0]
</code></pre>
<p>如果这也适合门和公寓。否则,您必须使用col=='building'进行测试,才能使用此版本。在</p>