为了账号安全,请及时绑定邮箱和手机立即绑定

如何将文本文件转换为分隔列表列表

如何将文本文件转换为分隔列表列表

白猪掌柜的 2023-11-09 22:21:14
我试图从文本文件中获取信息并将其转换为列表列表,稍后我将对其进行更多处理。文本文件的格式设置为每条信息由“,”分隔,然后在每个“人”的末尾有一个“\n”例如,111, Joe, Jones, 09-01-1980, 10 -1999年-19日, 95000我很接近。却被一件小事困住了。我当前的代码:def readFile(fileName):    myFileObj = open(fileName, "r")    peopleStr = myFileObj.read()    peopleList = peopleStr.split("\n")    newPeopleList = []    for el in peopleList:        sub = el.split(" ,")        newPeopleList.append(sub)    print(newPeopleList)        return newPeopleList这个 newPeopleList 返回[['111, Joe, Jones, 09-01-1980, 10-19-1999, 95000'], ['113, James, Jo, 10-02-1982, 10-18-1998, 85000'], ['123, Jordan, Joul, 08-04-1988, 10-17-1988, 80000']]但我需要的是[[111, 'Joe', 'Jones', '09-01-1980', '10-19-1999', 95000], [113, 'James', 'Jo', '10-02-1982', '10-18-1998', 85000], [123, 'Jordan', 'Joul', '08-04-1988', '10-17-1988', 80000]]所以他们每个人都可以成为列表中自己的项目!我希望这是有道理的,我感谢任何帮助!
查看完整描述

3 回答

?
烙印99

TA贡献1829条经验 获得超13个赞

listOfLists = []


with open(filename, "r") as msg:

   for line in msg:

      listOfLists.append(line.strip().replace(" ","").split(","))

   msg.close()

这应该可以。您逐行读取文件,将空格替换为空,用“,”分割每一行以生成一个列表,并将其存储在列表列表中。


查看完整回答
反对 回复 2023-11-09
?
慕桂英546537

TA贡献1848条经验 获得超10个赞

尝试这个:

newlist = [[y.split(", ")] for x in newPeopleList for y in x]
print(newlist)


查看完整回答
反对 回复 2023-11-09
?
慕码人2483693

TA贡献1860条经验 获得超9个赞

你可以获得你想要的更多Pythonic:

list(map(lambda x:x.split(', '),open(filename,'r').readlines()))

您自己的代码中的分隔符“,”是错误的,而它需要“,”。


查看完整回答
反对 回复 2023-11-09
  • 3 回答
  • 0 关注
  • 135 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信