繁体   English   中英

如何在列表中拆分名称,然后重新插入拆分项?

[英]How do I split a name in a list then reinsert the split items?

我在csv列表中有列表:

newlist = [
    ['id', 'name', 'lastContactedTime', 'email', 'phone_phones', 'home_phones', 'mobile_phones', 'work_phones', 'fax_phones', 'other_phones', 'address_1', 'address_2', 'address_3', 'city', 'state', 'postal_code', 'country', 'tags'], 
    ['12-contacts', 'Courtney James', '', 'courtney@forlanchema.com', '+1 3455463849', '', '', '', '', '', '654 Rodney Franklin street', '', '', 'Birmingham', 'AL', '45678', 'US', ''], 
    ['4-contacts', 'Joe Malcoun', '2019-08-13 14:41:12', 'ceo@nutshell.com', '', '', '', '', '', '', '212 South Fifth Ave', '', '', 'Ann Arbor', 'MI', '48103', 'US', ''], 
    ['8-contacts', 'Rafael Acosta', '', 'racosta@forlanchema.com', '+1 338551534', '', '', '', '', '', '13 Jordan Avenue SW', '', '', 'Birmingham', 'AL', '45302', 'US', '']
]

我想创建一个重复发生的事件,在该事件中,我将每个列表中的名称分开: "Courtney James" ,并将其添加到新列表中。

我试图使用while循环将每个名称分别拆分和追加到列表中,但是没有成功

#Splitting an item in the list and adding it to a new list  
m = 1
while newlist[m][1] != None:
    splitter = newlist[m][1].split()
    namelist = splitter
    m+1

    print(namelist)
else:
    break

我收到错误或代码无法编译。 我希望将名称拆分并添加到新列表中。

我想要的输出将是重复出现的列表,以便能够使用xlsxwriter将其添加到新的excel工作表中:标头= [“姓氏”,“名字”,“公司”,“标题”,“愿意分享”,“愿意介绍”,“工作电话”,“工作电子邮件”,“工作街道”,“工作城市”,“工作状态”,“工作邮编”,“个人街道”,“个人城市”,“个人状态”,“个人”邮编”,“手机”,“个人电子邮件”,“注释”,“注释类别”] List1 = ['Doe1','John','company1','CIO','是','是',' 999-999-999”,“ email@email.com”,“ 123 work street”,“ workville”,“ IL”,“ 12345”,“ 1234 personal street”,“ peronville”,“ Il”,“ 12345” ,“ 999-999-999”,“ personemail@email.com”,“所有人都可以看到的公开注释”,“公开”] List2 = List3 =

拆分每个名称时,会得到一个列表,例如[first_name, last_name] 假设您想建立一个“这些列表的列表”,那么您想以您的代码为基础进行以下操作:

namelist = [] # new, empty list
for i in range(1, len(newlist)):
    names = newlist[i][1].split() # this yields [first_name, last_name]
    #print(names)
    namelist.append([names[1], names[0]]) # [last_name, first_name]
  • range(1, len(newlist))生成数字1,2,... newlist的长度-1
  • namelist.append([names[1], names[0]])将拆分名称追加到我们的新列表中

结果:

[['James', 'Courtney'], ['Malcoun', 'Joe'], ['Acosta', 'Rafael']]

您正在寻找的是一个包含其他元素的更复杂的列表。 但是至少上面的代码显示了如何正确遍历原始列表。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM