0

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

有很多人问如何遍历文本文件并将它们读入数组。这里的问题是这对我来说不太适用。

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

文本文件的格式如下。

标题

副标题

由一个人

文本文件正文内容。多个段落

我将如何在 Python 中设置一个数组来执行此操作?

4

2 回答 2

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
于 2012-10-31T21:33:03.593 回答
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)
于 2012-10-31T21:29:39.483 回答