【问题标题】:Extracting blocks of txt file and saving them to separate files提取txt文件块并将它们保存到单独的文件中
【发布时间】:2018-05-16 19:31:39
【问题描述】:

我有一个巨大的.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,如示例中所示。

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

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

【问题讨论】:

  • 您可以使用awk 轻松完成此操作。你试过了吗?
  • 以前从未使用过awk。会看看。你知道那个命令吗?

标签: python shell editor


【解决方案1】:

试试这个 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)

【讨论】:

    猜你喜欢
    • 2021-02-12
    • 2021-02-10
    • 1970-01-01
    • 2022-12-10
    • 2014-03-19
    • 2021-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多