0
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。

任何人都可以帮忙。

4

1 回答 1

0

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

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

除此之外,我已经测试了这段代码,它可以在 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()

请让我知道,如果你有任何问题。

于 2019-07-23T04:48:23.390 回答