I have a simple bit of code that loops through two list of key words and then checks if those key words ae found in a field in another list. I have one check working just find the second check is tossing keyError when I set up the iterator. Bet 'ya it is a simple error but I do not see it. Using Python 3.7 working in Spyder Code looks like this: for obsRow in obsSheet.iter_rows(min_row=2, max_col=21): audit = obsRow[0].value ##1 = Audit recommdNo = obsRow[1].value ##2 = Recommendation # observ = obsRow[3].value ##4 = Observation recommd = obsRow[4].value ##5 = Recommendation priority = obsRow[7].value ##8 = Priority auditNo = obsRow[19].value ##20 = Audit Number found_keywd1 = "" found_keywd2 = "" ## ## Is Key Word 1 in recommd for kw in df_keyWord['kw1'].values: found_keywd1 = found_keywd1.join( kw + "|") if kw in recommd else found_keywd1 ## ## Is Key Word 2 in recommd for kw2 in df_keyWord['kw2'].values: found_keywd2 = found_keywd2.join( kw2 + "|") if kw2 in recommd else found_keywd2 if found_keywd1 or found_keywd2: new_df_row = {'audit' : audit , 'recommdNo': recommdNo , 'observ': observ , 'recommd': recommd , 'priority': priority , 'auditNo': auditNo , 'found_keywd1' : found_keywd1 , 'found_keywd2' : found_keywd2 } df_KWfound.loc[len(df_KWfound),:] = new_df_row df_KWfound.to_csv(KEYWORDFOUNDFILE) Error Tossed ipdb> > c:\users\nexxxx\onedrive - \dev\recommendcommittetaskforce\findkeywords.py(48)<module>() 46 ## 47 ## Is Key Word 2 in recommd ---> 48 for kw2 in df_keyWord['kw2'].values: 49 found_keywd2 = found_keywd2.join( kw2 + "|") if kw2 in recommd else found_keywd2 50 ipdb> KeyError: 'kw2' > c:\users\nexxxx\onedrive - \dev\recommendcommittetaskforce\findkeywords.py(48)<module>() 46 ## 47 ## Is Key Word 2 in recommd ---> 48 for kw2 in df_keyWord['kw2'].values: 49 found_keywd2 = found_keywd2.join( kw2 + "|") if kw2 in recommd else found_keywd2 50 ipdb> ipdb> print(df_keyWord) kw1 kw2 0 create committe 1 meet task force 2 form study group ipdb> Many Thanks for your kind assistance KD Continue reading...