假设你有一个数据集,它有两列,一个id和一个name,但是列名是手动插入的,并且有不同格式的名称。有些是用点而不是空格分隔的。有些是先放姓,然后是逗号,然后是名字。有些行有中间名甚至名字标题。
| ID|姓名|
| --------------|--------------|
| 1|艾莉·乔埃拉|
| 二| Antonio.Chaz |
| 三|Ian Coretta博士|
| 四个|约翰·多伊|
| 五| Marie.Eliza.Grey |
| 六|拉里?梅森|
| 七|温弗雷德,巴里先生|
| 八| Andrea.T.B.Shaw |
如何清理此列,使结果类似于:〈姓名标题(如果插入)〉〈中间名(如果插入)〉。
| ID|姓名|
| --------------|--------------|
| 1|艾莉·乔埃拉|
| 二|安东尼奥·查斯|
| 三|Ian Coretta博士|
| 四个|无名氏|
| 五|玛丽·伊丽莎·格雷|
| 六|拉里·梅森|
| 七|巴里Winfred先生|
| 八|Andrea T B Shaw|
谢谢大家!
2条答案
按热度按时间g9icjywg1#
你可以使用正则表达式的dict来尝试
replace
:wz1wpwve2#
我认为你必须使用split方法。你必须根据文本包含的内容做几个。我会首先检查文本中是否有空格,然后在它们之后拆分字符串。
你还需要列出一个例外,先生,博士等,如果拆分后的第一个字符串是其中的任何一个,那么就把它与第二个字符串合并。
你可以尝试创建函数
接下来检查所有你想要的但是如何检查一个词是名还是姓我不知道