https100chatgptcom#脱敏窗口def create_new_window4 def desensitize_texttext # 替换为 text = resubru4e00-u9fa52 text # 替换为 text = resubrd3dd4 r1 text return text def d
import os
def create_new_window4(): def desensitize_text(text): # 替换为* text = re.sub(r'[\u4e00-\u9fa5]{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)
desensitized_file_path = os.path.splitext(file_path)[0] + '_desensitized.docx'
document.save(desensitized_file_path)
def desensitize_excel_file(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)
desensitized_file_path = os.path.splitext(file_path)[0] + '_desensitized.xlsx'
workbook.save(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
原文地址: http://www.cveoy.top/t/topic/hehq 著作权归作者所有。请勿转载和采集!