我注意到您的 python 脚本没有主要入口点,因此我合并了您的代码的更抽象版本。除此之外,我不明白为什么在函数内实例化 one( ) 时传入sheet
to 。def Email_ID
sheet = 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()
请让我知道,如果你有任何问题。