如何根据给定的行数范围从文本文件中分割数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何根据给定的行数范围从文本文件中分割数据相关的知识,希望对你有一定的参考价值。

我有一个非常大的文本文件,我想对它的多个特定部分进行切片,然后仅使用切片的数据创建一个新的文本文件。我的方法是首先找到所需部分开始和结束的行号,然后将其用作切片范围。原因是文本文件包含很大的部分,还有我需要摆脱的描述,注释。我应该使用itertools.islice吗?

KMAPspec = open("KMAP_2018_04_23_071018_fast_00001.txt","r")
DataStartLine=[]
DataEndLine=[]
for x, line in enumerate(KMAPspec):   
    if line.find("#C imageFile")!=-1:
        DataStartLine.append(x)
    if line.find("#S")!=-1:
        DataEndLine.append(x)
with open("output.txt","w") as out:    
答案

当文本文件很大时,将内容保留在变量中是危险的,因为它可能会使您的内存不足。在您的情况下,您似乎可以在同一遍中进行读写:

以上是关于如何根据给定的行数范围从文本文件中分割数据的主要内容,如果未能解决你的问题,请参考以下文章

在给定行号的文本文件中打印行

VB中读入文件,如何获得文本的行数

如何从一个文本节点中包装每个字符?

如何在存在重叠和噪声的情况下从图像中分割主要形状?

C++文件读写操作如何统计文本的行数及如何读取文件某一行内容

linux文件拆分命令