【发布时间】:2014-05-15 18:54:21
【问题描述】:
我在 MS Excel 2010 中有这个专栏 - 它结合了“邮政编码”和“电子邮件 ID”
我正在尝试从本专栏中提取这些邮政编码(20530、90012-3308 等)。
20530 mark@ucvxcx.gov
20530 kidafd@gmail.com
20530 vladfeodsaf@usdodfaadj.govv
20530 syadfadsbil.vvbvx@vnvnvn.gov
20004 safdbnvis9dfg@infdda.gov
20530 vhlhsdlf8dlfha@vbvbcxbUI.GOV
90012-3308 h.james@asdfad.gov
90012-3308 madsfl.hjlkdjd@pkdoi.gov
90012 mark.fraser@ruskgb.zx
我尝试了 Python 的 re 模块。
import re
for i in range(1, 9):
Cell(i, 4).value = re.findall(r'\d+', Cell(i, 1).value) #storing result in column4
我在该列上运行了正则表达式,得到了以下结果:
[u'20530']
[u'20530']
[u'20530']
[u'20530']
[u'20004', u'9']
[u'20530', u'8']
[u'90012', u'3308']
[u'90012', u'3308']
[u'90012']
如何将结果提取成人类可读的邮政编码形式?
【问题讨论】:
-
你的正则表达式实验的结果是什么?为什么不只是
.split()[0]? -
[u'20530'] [u'20530'] [u'20530'] [u'20530'] [u'20004', u'9'] [u'20530', u'8'] [u'90012', u'3308'] [u'90012', u'3308'] [u'90012']
标签: python regex excel datanitro