数据有“海尔”的邮箱,但为什么还是打印出没有海尔的邮箱地址

要不把数据和代码私聊发给我,帮你看看吧,这样没数据不好debug。

把这行换成 mailnames = mailname['品牌名称'].tolist

 

或者把这行换成 if name in mailnames[0]:

import pandas as pd

df = pd.read_csv('test.csv')

def get_new_mail_address(row):
    if row['认证邮箱地址'] == '':
        return row['协议首页邮箱地址']
    else:
        return row['认证邮箱地址'] 
    
df['新的邮箱地址'] = df.apply(get_new_mail_address, axis=1)

brand_names = df['品牌名称'].values
some_brand_list = ['立白', '海尔', '今麦郎']

for single_brand in some_brand_list:
    if single_brand in brand_names:
        mail_addr = df.loc[df['品牌名称']==single_brand, ['新的邮箱地址']].values
        print(mail_addr)
    else:
        print('逾期品牌商:' + single_brand + '暂无认证邮箱和协议邮箱')

把文件名改下,别的应该不用改了

mailnames = [mailname['品牌名称'].tolist]

改成

mailnames = mailname['品牌名称'].tolist()