亲宝软件园·资讯

展开

pandas 手机号中间4位匿名

python小工具 人气:0

因为工作上要将客户的部分资料传给第三方做进一步处理,但是因为涉及到手机号等关键个人信息,所以需要对中间四位数做匿名化的简单处理。

>>> 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")

加载全部内容

相关教程
猜你喜欢
用户评论