将Excel或CSV文件转换为Python中的电子邮件地址列表

我有一些Python的经验,但我不是一个专家,所以在这里我很容易。

我有一个Python脚本,可以自动发送电子邮件报告给全天的人们。 现在,电子邮件地址都存储在脚本本身,但我希望将电子邮件地址存储在外部文件,其他人可以编辑谁收到他们,而不必打开脚本本身。 脚本中有不同的电子邮件列表,我正在努力弄清楚如何将其转换为文件。

因此,例如,这些可能是三个电子邮件列表,因为它们将被存储在Python中:

Group_A = ['ABC@yahoo.com', 'def@gmail.com'] Group_B = ['xyz@yahoo.com', tuv@gmail.com'] Group_C = ['hij@yahoo.com', klm@gmail.com'] 

我如何将它们存储在外部文件中并让Python将它们作为单独的列表读取?

我很好地使用Excel(通过Openpyxl或Pandas读取)或CSV甚至txt文档,但是让Python读取文件并将电子邮件地址存储在自己的列表中的最佳方式是什么? 列表的名字也需要在文件中设置,因为每个列表都会根据它的名字得到一个单独的电子邮件。

如果你把你的电子邮件放在这样一个简单的文本文件中:

 $ cat emails.txt foo bar baz 

你可以像这样将它读入Python:

 emails = [] with open("emails.txt") as f: for line in f: if len(line.strip()) > 0: emails.append(line.strip()) print(emails) 

结果将如下所示:

 ['foo', 'bar', 'baz'] 

让Python读取文件并将电子邮件地址存储在自己的列表中的最佳方式是什么? 列表的名字也需要在文件中设置,因为每个列表都会根据它的名字得到一个单独的电子邮件。

我只是将每一组电子邮件保存到不同的文件,并将该文件的内容读取到您需要的列表中。

文件:

 $ cat group_a.txt ABC@yahoo.com def@gmail.com $ cat group_b.txt xyz@yahoo.com tuv@gmail.com $ cat group_c.txt hij@yahoo.com klm@gmail.com 

将它们读入Python列表中:

 def readlines(file): lines = [] with open(file) as f: for line in f: if len(line.strip()) > 0: lines.append(line.strip()) return(lines) Group_A = readlines("group_a.txt") print(Group_A) # ['ABC@yahoo.com', 'def@gmail.com'] Group_B = readlines("group_b.txt") print(Group_B) # ['xyz@yahoo.com', 'tuv@gmail.com'] Group_C = readlines("group_c.txt") print(Group_C) # ['hij@yahoo.com', 'klm@gmail.com']