python将文本文件读入数组

时间:2012-10-31 21:24:58

标签: python

我正在尝试使用Python自动解析一组文本文件并将其转换为XML文件。

有很多人在询问如何遍历文本文件并将其读入数组。这里的麻烦是,这对我不起作用。

我需要单独遍历前三行,然后将文本文件(正文)的其余部分放入一个数组条目中。

文本文件的格式如下。

  

标题

     

分目

     

由A Person

     

文本文件正文内容。多段

如何设置数组以在Python中执行此操作?

2 个答案:

答案 0 :(得分:2)

这样的事情:

with open("data1.txt") as f:
    head,sub,auth = [f.readline().strip() for i in range(3)]
    data=f.read()
    print head,sub,auth,data

如果你的行之间有空格,那么你应该尝试:

filter()将删除空行:

 with open("data1.txt") as f:
    head,sub,auth =filter(None,(f.readline().strip() for i in range(6)))
    data=f.read()
    print head,sub,auth,,data

答案 1 :(得分:1)

如果我正确理解了您的问题,您希望将除前3行之外的所有文本放入数组(列表)中。以下是如何做到这一点:

with open("/path/to/your/file.txt") as f:
    all_lines = f.readlines()
content_lines = all_lines[3:]
content_text = '\n'.join(content_lines)
content_list.append(content_text)

说明:首先打开文件,然后将其所有行放入列表中。然后,在前三个之后取出所有行,并将它们放入列表中。然后,您使用换行符加入此新列表,以使其再次成为内容。然后,将此新内容附加到您事先创建的名为content_list

的列表中

如果您想将前三行放入列表中,请在追加content_list之前执行以下操作:

for line in all_lines[:3]:
    content_list.append(line)