将行分隔文件转换为列表

时间:2017-12-03 21:13:38

标签: python

所以我有一个看起来像这样的文件:

 Apples
 Red
 Round

 Banana
 Yellow
 Long

我想创建一个列表,其中每个“组”都在一个单独的列表中,如下所示: [[苹果,红色,圆形],[香蕉,黄色,长]

我完全不知道如何继续。

3 个答案:

答案 0 :(得分:2)

我们将在\n\n(两个换行符)上拆分以分隔这些组,然后使用常规str.split将这些组划分为项目

with open('yourfile.txt') as f:
    l = list(map(str.split, f.read().split('\n\n')))

您可以在this repl.it

看到一个类似的示例(没有文件I / O)

答案 1 :(得分:0)

我将内容拆分一次双换行,以便分别获得每个组,然后分别拆分每个组:

with f = open('file.txt'):
    content = f.read()
    result = [group.split() for group in content.split('\n\n')]

答案 2 :(得分:0)

短代码很棒但是如果你必须在2年后维护呢? ; - )

所以,这是我的更易读的版本,与现有版本一样:

file = open('file.txt')
text = file.read() # read everything into a string
file.close()
groups = text.split("\n\n") # create the groups
result = [ group.split("\n") for group in groups ] # split each group again at \n

这两行更长,但我更喜欢这种方式,因为我能够比其他版本更容易阅读和理解。不过这是你的决定。我希望我能帮到你。