PYTHON:在特定符号后将所有行插入数组/列表

时间:2015-02-11 12:26:55

标签: python arrays list

我有一点问题:我的.txt文件看起来像这样:

Random heading
----------
John
20

----------
Jack
18

我想将此信息添加到列表/数组中,如下所示:

`listName = [['John', '20'], ['Jack', '18']]`

所以" ----------"将是分隔列表项的特定符号。

希望我足够清楚。

提前致谢。

1 个答案:

答案 0 :(得分:1)

s="""Random heading
----------
John
20

----------
Jack
18"""

print([x.split() for x in s.split("----------")])

[['Random', 'heading'], ['John', '20'], ['Jack', '18']]

您可以使用next(file_object)跳过标题并拆分余数。

with open(infile) as f:
   header = next(f)
   spl = (x.split() for x in f.read().split("----------")[1:])
   for line in spl:
       print(line)
  ['John', '20']
  ['Jack', '18']

如果每个部分中只有两行:

lines = [[line.rstrip(), next(f).rstrip()] for line in f if line[0] != "-" and line.strip()]

如果他们总是在“ - ”之后:

lines = [[next(f).rstrip(), next(f).rstrip()] for line in f if line[0] == "-"]