【发布时间】:2016-03-04 07:23:04
【问题描述】:
我有一个从 csv 文件读取的超过 50000 行的非索引数据框,如下所示:
John Mullen 12/08/1993 Passw0rd
Lisa Bush 06/12/1990 myPass12
Maria Murphy 30/03/1989 qwErTyUi
Seth Black 21/06/1991 LoveXmas
我想根据特定的正则表达式验证每一行的每个单元格:
- 使用下面的
PassRegex验证密码 - 使用下面的
NameRegex验证名字/姓氏 - 等等……
然后将任何单元格未验证的行移动到新的数据框。
import re
PassRegex = re.compile(r"^(?!.*\s)(?=.*[A-Z])(?=.*[a-z])(?=.*\d).{8,50}$")
NameRegex = re.compile(r"^[a-zA-Z0-9\s\-]{2,80}$")
例如在这种情况下,下面的行不会使用 PassRegex 进行验证,所以我想将它们移动到单独的数据框:
Maria Murphy 30/03/1989 qwErTyUi
Seth Black 21/06/1991 LoveXmas
有没有一种方法可以在不逐行、逐个单元格地遍历整个数据帧的情况下做到这一点?
非常感谢任何帮助。
【问题讨论】:
标签: python regex python-2.7 pandas