For循环使用python从硒中的excelsheet读取数据

For loop to read data from excel sheet in selenium using python

from openpyxl import load_workbook

def Email_ID(row_Num, cell_Num, sheet):
    wb = load_workbook('/Users/Umesh/Downloads/Test_Read.xlsx')
    sheet = wb.get_sheet_by_name(sheet)
    email = sheet.cell(row=row_Num, column=cell_Num).value

    if email is not None:
        return email
    else:
        return ''

使用上面的代码,我可以从 excel sheet 中获取一个 emailid 并将其注册到应用程序中,但我需要从 [=18] 中读取所有电子邮件 ID =] sheet 使用 FOR 循环一个接一个。

谁能帮忙。

我注意到您的 python 脚本没有主入口点,因此我合并了一个更抽象的代码版本。除此之外,我不明白为什么在函数内部实例化一个(sheet = wb.get_sheet_by_name(sheet))时将 sheet 传递给 def Email_ID

我假设你的意思是从第一列获取所有电子邮件,如果不是一个小的改变可以垂直抓取电子邮件。

除此之外,我已经测试了这段代码,它可以在 Mojave MacOS 上运行。此 python 脚本将 从第一列动态获取所有值:

from openpyxl import load_workbook

def main():
    curr_sheet = get_sheet()
    for i in range(1, curr_sheet.max_row + 1):
        print(email_id(i, 1, curr_sheet))

# get email from each row based on parameters passed
def email_id(row_Num, cell_Num, sheet):
    email = sheet.cell(row=row_Num, column=cell_Num).value

    if email is not None:
        return email
    else:
        return ''

# setup our sheet to be easily passed through various functions
def get_sheet():
    wb = load_workbook('/Users/sudoxx2/Downloads/test_sheet.xlsx')
    sheet = wb.active
    return sheet

# main entry point to our python script(universal entry point in most python scripts)
if __name__ == "__main__":
    main()

如果您有任何问题,请告诉我。