如果在名称列表(python)中存在构建名称,请检查它

如果在名称列表(python)中存在构建名称,请检查它,python,python-3.x,list,csv,Python,Python 3.x,List,Csv,我正在尝试从2个外部文件构建一个cvs文件,其中包含我需要的所有Active directory字段。 第一个文件包含需要创建的用户列表以及与广告对象相关的一些其他信息 第二个报告是导出的SamAccountName和从AD转储的电子邮件的列表。因此,我要做的是创建一个唯一的SamAccountName,我从第一个报告和wan的firstname和lastname形成测试SamAccountName,以将其与第二个报告进行比较。我目前正在存储从第二个报表中获取的所有数据,我想检查生成的SamAc

我正在尝试从2个外部文件构建一个cvs文件,其中包含我需要的所有Active directory字段。 第一个文件包含需要创建的用户列表以及与广告对象相关的一些其他信息

第二个报告是导出的SamAccountName和从AD转储的电子邮件的列表。因此,我要做的是创建一个唯一的SamAccountName,我从第一个报告和wan的firstname和lastname形成测试SamAccountName,以将其与第二个报告进行比较。我目前正在存储从第二个报表中获取的所有数据,我想检查生成的SamAccountName是否存在于该列表中

到目前为止,我还无法做到这一点,只能得到一个csv和我制作的SAMAccountNames(它不做检查)

注意:我不能使用任何其他插件直接检查到Active Directory

import csv

def getSamA(fname, lname):
    Sams = []
    sama = lname[0:5] + fname[0:2]

    with open('test-input.txt','r') as AD:
        rows = csv.DictReader(AD)

        for ad in rows:
            Sams.append(ad['SamAccountName'])


    #check if built sama is in list       
    if sama in Sams:

        #if sama in list, add one more character to sama
        sama = lname[0:5] + fname[0:3]
        return sama.lower()
    else:
        return sama.lower()

with open('users.csv') as csv_file:
    rows = csv.DictReader(csv_file)

    with open('users-COI2-Multi.csv', 'w', newline='') as output:
        header = ['FirstName','Initials','LastName','DisplayName','Description','Office','TelePhone','UserLogonName','SamAccountName','JobTitle','Department','Manager','Mobile','faxNumber','Notes','Assistant','employeeID','ex1','ex2','ex3','ex15','Office365License','ExpiresInDays','EmailToUSer','AddToGroup']

        output_file = csv.DictWriter(output, fieldnames=header, delimiter=';')
        output_file.writeheader()

        for data in rows:
            employeeId = data['Associate ID']
            fName = data['First Name']
            lName = data['Last Name']
            Location = data['Location']
            Department = data['Department']
            Manager = data['Manager Name']
            JobTitle = data['Title']

            context = {
                'FirstName' : fName,
                'Initials' : getInitials(fName, lName),
                'LastName' : lName,
                'DisplayName' : getDisplayName(fName, lName),
                'Description' : 'Account for: '+getDisplayName(fName, lName),
                'Office': getOffice(Location).strip(),
                'TelePhone' : '+1 XXX XXX XXXX',
                'UserLogonName' : getMail(fName, lName),
                'SamAccountName' : getSamA(fName, lName),
                'JobTitle' : JobTitle,
                'Department' : Department,
                'Manager' : Manager,
                'Mobile' : '',
                'faxNumber' : '',
                'Notes' : '',
                'Assistant' : '',
                'employeeID' : employeeId,
                'ex1' : 'End User',
                'ex2' : 'NoMailbox',
                'ex3' : getSiteCode(Location),
                'ex15' : getSKID(Location),
                'Office365License' : '',
                'ExpiresInDays' : '',
                'EmailToUSer' : 'user@test.com',
                'AddToGroup' : '',
            }
            output_file.writerow(context)

具体哪个部分不起作用?在getSamA()函数中检查唯一性的尝试中,我想检查我构建的sama是否在Sams列表中,并且它是否不起作用,,我确实得到了最终的csv,但我创建的SamAccountName未选中