Python文件脱敏工具: Word和Excel文件敏感信息保护
Python文件脱敏工具: Word和Excel文件敏感信息保护
本工具使用Python实现对Word和Excel文件进行脱敏处理,可以有效保护文件中的敏感信息,例如姓名、电话号码等。该工具简单易用,仅需选择文件并点击按钮即可完成脱敏操作。
代码实现
def create_new_window4():
def desensitize_text(text):
# 替换为*
text = re.sub(r'[一-龥]{2,}', '*', text)
# 替换为****
text = re.sub(r'\d{3}\d*(\d{4})', r'****\1', text)
return text
def desensitize_word_file(file_path):
document = Document(file_path)
for paragraph in document.paragraphs:
paragraph.text = desensitize_text(paragraph.text)
for table in document.tables:
for row in table.rows:
for cell in row.cells:
cell.text = desensitize_text(cell.text)
document.save(f'desensitized_{file_path}')
def desensitize_excel_file():
file_path = filedialog.askopenfilename()
if file_path:
workbook = openpyxl.load_workbook(file_path)
for sheet in workbook.sheetnames:
worksheet = workbook[sheet]
for row in worksheet.iter_rows(values_only=True):
desensized_row = [desensitize_text(str(cell)) for cell in row]
worksheet.append(desensized_row)
workbook.save(f'desensitized_{file_path}')
def desensitize_word():
file_path = filedialog.askopenfilename()
if file_path:
desensitize_word_file(file_path)
new_window = tk.Toplevel(root_new)
new_window.title('脱敏窗口')
new_window.geometry('500x400')
word_button = tk.Button(new_window, text='Word文件脱敏', command=lambda: desensitize_word())
word_button.pack(pady=10)
excel_button = tk.Button(new_window, text='Excel文件脱敏', command=desensitize_excel_file)
excel_button.pack(pady=10)
使用方法
- 安装必要的库:
pip install python-docx openpyxl tkinter filedialog - 运行代码,选择需要脱敏的Word或Excel文件
- 点击对应按钮,程序会自动将文件脱敏并保存为
desensitized_xxx.xxx格式
代码说明
desensitize_text()函数用于对文本进行脱敏处理,将中文姓名替换为'',将电话号码替换为'',其中*保留后四位号码desensitize_word_file()函数用于对Word文件进行脱敏处理desensitize_excel_file()函数用于对Excel文件进行脱敏处理create_new_window4()函数用于创建脱敏窗口,包含两个按钮,分别用于选择Word文件和Excel文件进行脱敏
注意
- 本工具只对文本内容进行脱敏处理,不会对其他信息进行修改
- 脱敏后的文件会保存在原文件目录下
- 该工具仅供参考,请根据实际情况进行修改和完善
总结
本工具可以方便快捷地对Word和Excel文件进行脱敏处理,有效保护文件中的敏感信息。希望本工具能够帮助到您。
原文地址: https://www.cveoy.top/t/topic/oG9p 著作权归作者所有。请勿转载和采集!