我试图从文本文件中获取信息并将其转换为列表列表,稍后我将对其进行更多处理。文本文件的格式设置为每条信息由“,”分隔,然后在每个“人”的末尾有一个“\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()
这应该可以。您逐行读取文件,将空格替换为空,用“,”分割每一行以生成一个列表,并将其存储在列表列表中。
慕桂英546537
TA贡献1848条经验 获得超10个赞
尝试这个:
newlist = [[y.split(", ")] for x in newPeopleList for y in x] print(newlist)
慕码人2483693
TA贡献1860条经验 获得超9个赞
你可以获得你想要的更多Pythonic:
list(map(lambda x:x.split(', '),open(filename,'r').readlines()))
您自己的代码中的分隔符“,”是错误的,而它需要“,”。
添加回答
举报
0/150
提交
取消