提取txt文件块并将其保存到单独的文件

时间:2018-05-16 19:31:39

标签: python shell editor

我有一个巨大的.txt文件(大约200MB)。

该文件的结构如下

#l = 1
0 0 -1234 1234
0 1 -1234 1234
0 2 -1234 1234
...
n n -1234 1234

#l = 2
0 0 -1234 1234
0 1 -1234 1234
..
n n -1234 1234
...

#l = 100
0 0 -1234 1234
0 1 -1234 1234
..
n n -1234 1234

其中1234代表一些通用随机数,n可以是499l块的数量可以是100,如示例所示。

重要的是我要隔离块,即我需要为每个块创建一个.txt文件,以#l= ...开头

我想问一下是否有一些聪明的方法可以做到这一点。手动切割文件并不容易,我的编辑器在处理文件大小时遇到​​了问题。我很高兴使用任何解决方案:shellpython ...

1 个答案:

答案 0 :(得分:0)

试试这个python脚本

import re

    cwf = open("0.txt","w+")
    for line in open('filename.csv'):
        if re.match(r"#l", line):
            num = re.search(r"#l\s=\s(.*)", line).group(1)
            cwf = open(num+"txt","w+")

        cwf.write(line)