因为工作上要将客户的部分资料传给第三方做进一步处理,但是因为涉及到手机号等关键个人信息,所以需要对中间四位数做匿名化的简单处理。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
>>> 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 |
正则隐藏手机号中间四位,改为**** (常见四种方法)
1
2
3
4
5
6
7
8
9
|
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位匿名内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!
原文链接:https://blog.csdn.net/weixin_45144170/article/details/114262030