根据分隔符将列表分成行和列

Seperate list into row and column based on delimiter

我有一个电子邮件列表,我想分成两列。

df = [Smith, John <jsmith@abc.com>; Moores, Jordan <jmoores@abc.com>; 
Manson, Tyler <tmanson@abc.com>; Foster, Ryan <rfoster@abc.com>]

list = df.split(';')
for i in list
print (i)

预期结果是有两列,一列用于姓名,一列用于电子邮件:

Name             Email
Smith, John      jsmith@abc.com
Moores, Jordan   jmoores@abc.com
Manson, Tyler    tmanson@abc.om
Foster, Ryan     rfoster@abc.com`

不要使用 list 作为变量名;没有理由这样做。这是一种方法,假设您的输入是一个字符串:

data = "Smith, John <jsmith@abc.com>; Moores, Jordan <jmoores@abc.com>; Manson, Tyler <tmanson@abc.com>; Foster, Ryan <rfoster@abc.com>"

# Do not call things list as "list" is a keyword in Python
l1 = data.split(';')
res = []
for i in l1:
    splt = i.strip().split()
    res.append([" ".join(splt[:2]), splt[-1][1:-1]])

df = pd.DataFrame(res, columns=["Name", "Email"])