【问题标题】:Seperate list into row and column based on delimiter根据分隔符将列表分为行和列
【发布时间】:2019-07-24 15:48:11
【问题描述】:

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

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`

【问题讨论】:

  • 您已经使用split(';') 分隔行,为什么不能在每行中再次使用它作为逗号?
  • 如果您将当前代码的输出包含在内会很有帮助,以便其他人可以更好地帮助调试。
  • 所以你的df 是一个字符串?为什么有括号?

标签: python list loops row delimiter


【解决方案1】:

不要使用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"])

【讨论】:

  • @Pho6 没问题。如果它解决了您的问题,请接受此答案!
猜你喜欢
  • 2013-02-27
  • 1970-01-01
  • 2022-01-04
  • 1970-01-01
  • 2018-10-25
  • 1970-01-01
  • 2019-03-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多