我正在尝试使用 Python 自动解析一组文本文件并将它们转换为 XML 文件。
有很多人问如何遍历文本文件并将它们读入数组。这里的问题是这对我来说不太适用。
我需要分别循环遍历前三行,然后将文本文件(正文)的其余部分放入一个数组条目中。
文本文件的格式如下。
标题
副标题
由一个人
文本文件正文内容。多个段落
我将如何在 Python 中设置一个数组来执行此操作?
我正在尝试使用 Python 自动解析一组文本文件并将它们转换为 XML 文件。
有很多人问如何遍历文本文件并将它们读入数组。这里的问题是这对我来说不太适用。
我需要分别循环遍历前三行,然后将文本文件(正文)的其余部分放入一个数组条目中。
文本文件的格式如下。
标题
副标题
由一个人
文本文件正文内容。多个段落
我将如何在 Python 中设置一个数组来执行此操作?
像这样的东西:
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
如果我正确理解了您的问题,您希望将除前 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)