提取名字时,依次提取6,5,4个

This commit is contained in:
2023-05-08 23:05:04 +02:00
parent 4edecff99c
commit 00794269f5
@@ -6,7 +6,7 @@ import xlsxwriter
from src.db.mongo_manager import MongoDbManager
from src.pojo.contact_pojo import ContactPojo
from src.utils.excel_reader import get_random_phone_numbers
from src.utils.excel_reader import get_random_phone_numbers, ExcelHelper
from src.utils.generate_random_passport_id import get_random_passport_id_number
@@ -48,8 +48,36 @@ def generate_name_from_email(mail_address, pinyin_name_list):
all_combins = get_ordered_combins(mail_address)
for i in all_combins:
word_to_test = "".join(i)
print("word to test is " + word_to_test)
if len(word_to_test) >= 6:
for name in pinyin_name_list:
last_name = name.split(" ")[0]
first_name = name.split(" ")[-1]
full_name = last_name + first_name
full_name_inverse = first_name + last_name
if word_to_test in last_name:
return last_name, first_name
elif word_to_test in first_name:
return last_name, first_name
elif word_to_test in full_name:
return last_name, first_name
elif word_to_test in full_name_inverse:
return last_name, first_name
if len(word_to_test) >= 5:
# print("word to test is " + word_to_test)
for name in pinyin_name_list:
last_name = name.split(" ")[0]
first_name = name.split(" ")[-1]
full_name = last_name + first_name
full_name_inverse = first_name + last_name
if word_to_test in last_name:
return last_name, first_name
elif word_to_test in first_name:
return last_name, first_name
elif word_to_test in full_name:
return last_name, first_name
elif word_to_test in full_name_inverse:
return last_name, first_name
if len(word_to_test) >= 4:
for name in pinyin_name_list:
last_name = name.split(" ")[0]
first_name = name.split(" ")[-1]
@@ -109,9 +137,11 @@ def find_contact(generate_contacts: list, mail):
if __name__ == '__main__':
db_manager = MongoDbManager()
mail_list = db_manager.get_destination_emails()[5000:6000]
# mail_list = db_manager.get_destination_emails()[6000:7000]
# mail_list = db_manager.get_destination_emails()[3001:3200]
# mail_list = db_manager.get_destination_emails()[50:200]
excel_reader = ExcelHelper()
mail_list = excel_reader.read_mails_and_pwd(file_name="/Users/lpan/Desktop/yahoo_list.xlsx")
generate_contacts = []
pinyin_name_list = read_pinyin_list_from_file()
random.shuffle(pinyin_name_list)