Ich habe den folgenden Code, der nicht leere Werte in Spalte J eines Excel-Arbeitsblattes findet. Es macht einige Dinge damit, einschließlich das Abrufen der E-Mail-Adresse des Werts in Spalte K. Dann sendet es eine E-Mail an das Mitglied mit SMTP.Suchen Sie Listenelemente in Excel-Tabelle mit Python
Was ich stattdessen möchte, ist die E-Mail-Adresse der Person aus einer Python-Liste, die am Anfang des Codes deklariert werden kann. Ich kann einfach nicht herausfinden, wie man die übereinstimmenden Namen in Spalte J im Arbeitsblatt nach der Liste findet und dann die resultierende E-Mail-Adresse aus der Liste erhält.
Bitte entschuldigen Sie jede schreckliche Syntax ... Dies ist mein erster Stich in einem großen Python-Projekt.
memlist = {'John Frank':'[email protected]',
'Liz Poe':'[email protected]'}
try:
for i in os.listdir(os.getcwd()):
if i.endswith(".xlsx") or i.endswith(".xls"):
workbook = load_workbook(i, data_only=True)
ws = workbook.get_sheet_by_name(wsinput)
cell_range = ws['j3':'j7']
for row in cell_range: # This is iterating through rows 1-7
#for matching names in memlist
for cell in row: # This iterates through the columns(cells) in that row
value = cell.value
if cell.value:
if cell.offset(row=0, column =-9).value.date() == (datetime.now().date() + timedelta(days=7)):
#print(cell.value)
email = cell.offset(row=0, column=1).value
name = cell.value.split(',',1)[0]
Ich benutze Python 3.5 so glaube ich, dass die has_key nicht funktioniert. –