簡體   English   中英

For循環使用python從硒中的Excel工作表中讀取數據

[英]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工作表中獲取單個emailid並將其注冊到應用程序中,但是我需要使用FOR循環逐一讀取excel工作表中的所有電子郵件ID。

誰能幫忙。

我注意到您的python腳本沒有主入口,因此我合並了您的代碼的更抽象版本。 除此之外,我不明白為什么在函數內部實例化一個sheet = wb.get_sheet_by_name(sheet)sheet = wb.get_sheet_by_name(sheet) )時為什么def Email_ID 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()

請讓我知道,如果你有任何問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM