Анонимизировать данные в Excel
У меня есть файл Excel с данными обучения. В столбце A он содержит неструктурированные электронные письма от клиентов (1 электронное письмо / ячейка), тогда как в других столбцах он содержит другие вещи. Я должен анонимировать адреса электронной почты, почтовые адреса, имена отправителей / получателей и номера телефонов для каждого письма в столбце А.
Я думал о том, чтобы преобразовать ячейки в фреймы данных с помощью панд Python. Любая идея?
Спасибо
2 ответа
Читайте данные в python, как вам нравится, а затем используйте регулярные выражения для замены строк.
Например, вы получили список только с почтовыми адресами r
:r = "abc@gf.com"
Теперь вы можете import re
и использовать re.sub()
с подходящим рисунком. Для писем я взял One от сообщества regexr.com, и все могло выглядеть примерно так:
import re
r = "abc@gf.com"
p = re.sub("[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?", "***MAIL***", r)
print(p)
Результат:>>> print(p)
***MAIL***
Как только вы конвертируете данные в файлы Excel (лично у меня нет большого опыта, но я использовал https://pypi.org/project/xlrd/ как мне кажется), фильтры предварительной обработки текстовых сообщений могут помочь вам анонимизировать содержание:textacy.preprocess.preprocess_text
ICW no_emails, no_phone_numbers
и т. д. ( https://chartbeat-labs.github.io/textacy/api_reference.html)