我正在尝试使用Python自动解析一组文本文件并将其转换为XML文件。
有很多人在询问如何遍历文本文件并将其读入数组。这里的麻烦是,这对我不起作用。
我需要单独遍历前三行,然后将文本文件(正文)的其余部分放入一个数组条目中。
文本文件的格式如下。
标题
分目
由A Person
文本文件正文内容。多段
如何设置数组以在Python中执行此操作?
答案 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)