如何在特定字符处分割文本文件以创建多个文本文件

时间:2019-01-07 18:04:48

标签: python-2.7 file split text-files

我有一个文本文件,其中包含有关不同组的信息,并且这些组用'='分隔。我想将此文件分成两个多个文本文件,以便以后编辑。

文本文件如下:

GROUP 001
LISA ----- 134.5
ROLF ----- 122.0
NICOLAS -- 103.4
=
GROUP 002
NICOLE --- 141.1
ADAM ----- 98.2

我想要两个单独的文本文件(最好称为01.txt和02.txt),并带有:

LISA ----- 134.5
ROLF ----- 122.0
NICOLAS -- 103.4

另一个文件

NICOLE --- 141.1
ADAM ----- 98.2

我只是尝试读取文件并将其在'='符号处分割,但这给了我一个包含所有其他groupinfo作为条目的列表。

groups = open('input.txt').read()
groups_divided = groups.split("=\n")
print groups_divided

1 个答案:

答案 0 :(得分:1)

起步不错,以下是完成任务的一种方法,

groups = open('input.txt').read()
groups_divided = groups.split('=\n')

for group in groups_divided:
    temp = group.split('\n')
    with open(temp[0].split()[1] + '.txt', 'w') as out:
        out.write("\n".join(temp[1:]))

groups.split('=\n')之后,您得到的是字符串from中的分组行列表。该程序处理该列表中的每个字符串组-即每个物理组,并将处理后的版本保存到文件中。

它首先用换行符'\n'分割字符串组,从而创建temp。然后,提取输出文件名的组号。最后,它保存了组中所有行(存储在temp中),除了第一行是GROUP 00#行。保存时,它将所有保存的行与换行符连接在一起,否则用split('\n')删除。