繁体   English   中英

从一个巨大的 txt 文件中解析并将每个 output 写入单独的文件中

[英]parse from a huge txt file and write each output in separate files

如何从巨大的 txt 文件中提取多行字符串并将每个找到的模式写入单独的文件中?

从源文件 (example.txt) 中提取的示例:

RIG 1C 0
RIC 1 F
RIB F F
RIB A F
RIB O O
RIC 2 C
RIB J J
RIB C J
RIB D C
RIB Z D
RIB R Z
RIB I I
RIB S S
RIC 3 Y
RIB Y Y
RIB M Y
RIB L M
RIB H L
RIB K H
RIB B K
RIB W B
RIB Q W
RIB V Q
RIB N V
RIB G B
RIB T B
RIB X X
RIG 1C 1
RIC 1 F
RIB F F
RIB A F
RIB O O
RIC 2 C
RIB J J
RIB C J
RIB D C
RIB Z D
RIB R Z
RIB I I
RIB S S
RIC 3 Y
RIB Y Y
RIB M Y
RIB L M
RIB H L
RIB K H
RIB B K
RIB W B
RIB Q W
RIB V Q
RIB N V
RIB G B
RIB T B
RIB X X
RIG DE 0
RIC 1 F
RIB F F
RIC 2 C
RIB C C

模式从 RIG 到 RIG

这意味着第一个文件 RIG1C0.txt 包含:

RIG 1C 0
RIC 1 F
RIB F F
RIB A F
RIB O O
RIC 2 C
RIB J J
RIB C J
RIB D C
RIB Z D
RIB R Z
RIB I I
RIB S S
RIC 3 Y
RIB Y Y
RIB M Y
RIB L M
RIB H L
RIB K H
RIB B K
RIB W B
RIB Q W
RIB V Q
RIB N V
RIB G B
RIB T B
RIB X X

第二个文件 RIG1C1.txt:

RIG 1C 1
RIC 1 F
RIB F F
RIB A F
RIB O O
RIC 2 C
RIB J J
RIB C J
RIB D C
RIB Z D
RIB R Z
RIB I I
RIB S S
RIC 3 Y
RIB Y Y
RIB M Y
RIB L M
RIB H L
RIB K H
RIB B K
RIB W B
RIB Q W
RIB V Q
RIB N V
RIB G B
RIB T B
RIB X X

等等。

我听说了一些关于 RegEx 的事情

有人可以帮助我吗?

没有正则表达式的最简单方法,只有 python 内置模块:

from pathlib import Path
# File Contents as String
originalFile=Path("path/to/file.txt").read_text()
for i,subFileContents in enumerate(originalFile.split("RIG")):
    # First RIG could be empty String
    if subFileContents:
        # Attach the searched Keyword again
        temp="RIG"+subFileContents
        # format String zeropadded number exactly 5 digits
        with open(f"RIG1C{i:05}.txt", "w") as f:
            f.write(temp)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM