临近毕业。

今天班群里发了个要核对的信息的表格,要我们检查一下,涉及到毕业证。

于是我就下载来看一看,结果傻了眼:(敏感信息已打码)


是的,姓名和身份证号都是明文显示的,而且足足有 1500 条… 整个一届的全校学生的身份证,班级,姓名,就这样被一堆班长发到群共享传来传去……

本来想着直接把它们丢给新生做实验玩,比如查询有多少个生日相同的,这一届同学的地区分布,年龄分布,但想想这有点太危险了,于是准备做如下事情:

1、把姓名改成:X 某某(张爱华 => 张某某)

2、身份证号隐藏后 4 位(112107199202060820 => 11210719920206XXXX)

鉴于本人 Excel 玩的不溜,所以准备写个程序帮我干这件事,C 的话处理字符串实在无能,于是想起来最近在学的 Python,写了个小程序顺利实现:

def filter(file_path, newfile_path, start_p, end_p, fiter_str):

ori_file = open(file_path,"r")

after_file = open(newfile_path, "w")

while True:

line = ori_file.readline()

if line:

after_file.write(line[start_p:end_p] + fiter_str + "\n")

else:

break

names_file_path = "/Users/sun/Desktop/name.txt" # 源文件 1

new_names_file_path = "/Users/sun/Desktop/new_name.txt" # 处理后文件 1

numbers_file_path = "/Users/sun/Desktop/number.txt" # 源文件 2

new_numbers_file_path = "/Users/sun/Desktop/new_number.txt"# 处理后文件 2

filter(names_file_path, new_names_file_path, 0, 1, "某某")

filter(numbers_file_path, new_numbers_file_path, 0, 14, "XXXX")

最后生成两个文件,直接复制回 Excel 即可。


忍不住高喊,Python 大法好。

Life is short,You need Python.