因为工作上要将客户的部分资料传给第三方做进一步处理,但是因为涉及到手机号等关键个人信息,所以需要对中间四位数做匿名化的简单处理。
- >>> import pandas as pd
- >>> import numpy as np
- # 这里需要将手机号所在列在读取时指定类型
- >>> df = pd.read_excel('D:/1.xlsx', dtype={"phone":str})
- >>> df
- phone
- 0 18373827382
- 1 18373824382
- 2 18373827382
- 3 18373427382
- 4 18373857382
- 5 18373827382
- 6 18373427382
- 7 18373817382
- # 代码也很简单,只是分别取手机号的
- # 前三位和后四位并添加*号拼接
- >>> df['phone_replace']=df['phone'].str[0:3] + "****" + df['phone'].str[7:]
- >>> df
- phone phone_replace
- 0 18373827382 183****7382
- 1 18373824382 183****4382
- 2 18373827382 183****7382
- 3 18373427382 183****7382
- 4 18373857382 183****7382
- 5 18373827382 183****7382
- 6 18373427382 183****7382
- 7 18373817382 183****7382
正则隐藏手机号中间四位,改为**** (常见四种方法)
- var phone='13511115678';
- //方法一
- var newphone=phone.substr(0, 3) + '****' + phone.substr(phone.length - 4);
- //方法二
- var newphone= phone.replace(phone.substr(3, 4),"****")
- //方法三
- var newphone=phone.replace(/(\d{3})\d{4}(\d{4})/, '$1****$3');
- //方法四
- var newphone=phone.replace( /([0-9]{3})([0-9]{4})([0-9]{4})/,"$1****$3")
到此这篇关于pandas实现手机号号码中间4位匿名化的示例代码的文章就介绍到这了,更多相关pandas 手机号中间4位匿名内容请搜索w3xue以前的文章或继续浏览下面的相关文章希望大家以后多多支持w3xue!