Split a single file into multiple files

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • neeru29
    New Member
    • Feb 2009
    • 21

    Split a single file into multiple files

    I have file with 1000 lines. for example:
    ..
    ..
    01-06 00:02:33.459 I/Activity( 32): Starting: {....APTPower}
    ..
    ..
    ..
    ..
    01-06 00:02:34.563 I/Activity( 32): Starting: {....APTPower}
    ...
    ...
    ..
    ..
    01-06 00:03:21.459 I/Activity( 32): Starting: {....APTPower}
    ..
    ..
    I want to split file where ever Starting & APTPower occurs and writing it to new file until next occurance of pattern i.e., starting & APTPower.

    How do i do that?
  • bvdet
    Recognized Expert Specialist
    • Oct 2006
    • 2851

    #2
    First you should decide on how to name the files you are writing to. I would suggest a starting name and increment the name from there. Something like:
    Code:
    >>> for i in range(10):
    ... 	fn = "filename%s" % (i)
    ... 	print fn
    ... 	
    filename0
    filename1
    filename2
    filename3
    filename4
    filename5
    filename6
    filename7
    filename8
    filename9
    >>>
    Iterate on the open file object and test each line for membership of keywords. When both keywords are in the line, close the open file object for writing and open a new one.
    Code:
    fread = open("data11.txt")
    count = 1
    fwrite = open("filename%s" % (count), 'w')
    for line in fread:
        if "Starting" in line and "APTPower" in line:
            # close open file object, increment count, open new file object
            fwrite.close()
            count += 1
            fwrite = open("filename%s" % (count), 'w')
            fwrite.write(line + "\n")
        else:
            fwrite.write(line + "\n")
    fwrite.close()
    fread.close()

    Comment

    • neeru29
      New Member
      • Feb 2009
      • 21

      #3
      thanks you, it was helpful....

      Comment

      Working...