Мне нужно разбить сейсмологический файл, чтобы у меня было несколько подфайлов - PullRequest
0 голосов
/ 14 марта 2019

В основном у меня есть файл ASCII, содержащий сейсмологическую информацию о различных событиях землетрясения. Каждое событие (со своей конкретной информацией) отделяется от следующей строки перехода.

Я хочу разделить этот огромный файл, используя python, на серию субфайлов, содержащих примерно 700 событий, каждое из которых имеет свою информацию, и эти субфайлы должны быть организованы в хронологическом порядке.

Исходный файл выглядит так:

Screenshot

Вы можете видеть, что между первым и вторым событием есть линия скачка и поэтому каждое последующее событие.

Заранее спасибо за помощь

1 Ответ

0 голосов
/ 14 марта 2019

В принципе, вы можете сделать так:

inputFile = "AllEvents.txt"               # give the path to the file that contain all the events
eventInfo = ""                            # create a string to hold event info
eventCounter = 0
fileId = 0

subFile= open("Events" + str(fileId) + ".txt","w+")          # create the sub file that you need

with open(inputFile) as fileContent:
    for line in fileContent:
        if not line.strip():              # strip white spaces to be sure is an empty line
            subFile.write(eventInfo + "\n")      # add event to the subFile
            eventInfo = ""                # reinit event info
            eventCounter += 1
            if eventCounter == 700:
                subFile.close()
                fileId += 1
                subFile = open("Events" + str(fileId) + ".txt","w+")
                eventCounter = 0
        else:
            eventInfo += line
subFile.close()

В конце у вас будет список файлов, каждый из которых содержит 700 событий: Events0.txt, Events1.txt, ...

...