Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将Excel或CSV文件转换为Python中的电子邮件地址列表_Python_Excel_Pandas_Csv_Openpyxl - Fatal编程技术网

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

将Excel或CSV文件转换为Python中的电子邮件地址列表,python,excel,pandas,csv,openpyxl,Python,Excel,Pandas,Csv,Openpyxl,我有一些Python方面的经验,但我不是专家,所以请在这里对我放松 我有一个Python脚本,可以在一天中向人们发送自动电子邮件报告。现在,电子邮件地址都存储在脚本本身中,但我希望将电子邮件地址存储在外部文件中,其他人可以在不打开脚本本身的情况下编辑接收它们的人。脚本中有不同的电子邮件列表,我正在努力找出如何将其转换为文件 因此,对于实例,这可能是存储在Python中的三个电子邮件列表: Group_A = ['ABC@yahoo.com', 'def@gmail.com'] Group_B

我有一些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
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 emails.txt
foo
bar
baz
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']
结果如下所示:

$ cat emails.txt
foo
bar
baz
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']

所以,你基本上想转置你的csv?这就是我的意思。我想我得把它们另存为不同的文件。尽管我不想,但这似乎是最合乎逻辑的解决方案。谢谢你的帮助。