将Excel或CSV文件转换为Python中的电子邮件地址列表
我对Python有一定的使用经验,但我不是专家,所以在这里轻松一下。将Excel或CSV文件转换为Python中的电子邮件地址列表
我有一个Python脚本,可以在一天中向人们发送自动电子邮件报告。现在,电子邮件地址都存储在脚本本身中,但我希望将电子邮件地址存储在外部文件中,其他人可以编辑谁收到它们,而无需打开脚本本身。脚本中有不同的电子邮件列表,我正在努力弄清楚如何将其转换为文件。
因此,对于情况下,这些可能是三个电子邮件列表,因为它们将被存储在Python:
Group_A = ['[email protected]', '[email protected]']
Group_B = ['[email protected]', [email protected]']
Group_C = ['[email protected]', [email protected]']
如何存放它们在外部文件中,并让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
[email protected]
[email protected]
$ cat group_b.txt
[email protected]
[email protected]
$ cat group_c.txt
[email protected]
[email protected]
阅读到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) # ['[email protected]', '[email protected]']
Group_B = readlines("group_b.txt")
print(Group_B) # ['[email protected]', '[email protected]']
Group_C = readlines("group_c.txt")
print(Group_C) # ['[email protected]', '[email protected]']
这就是我所掌握的。我想我必须将它们保存为不同的文件。尽管我不想,但它似乎是最合乎逻辑的解决方案。谢谢你的帮助。 – Emac
所以,你基本上要转你的CSV? –