-1

У меня есть длинный текстовый файл, содержащий описания продуктов, как эти

Item code 104
Product name a
Description number 1
Description number 1 extra lines

Item code 108
Product name b
Description number 2

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

В приведенном выше примере я хотел бы иметь

файл 1 a.txt, содержащий: название продукта описание 1

файл 2 b.txt, содержащий: название продукта b описание 2

Я искал в Интернете и нашел нечто подобное, но не совсем то, что мне нужно. Код, который я нашел, находится по следующей ссылке.

Тогда вопрос касался множества текстовых файлов, тогда как мне нужно найти несколько экземпляров в одном и том же файле и сохранить их как новый файл, названный в честь строки из прочитанного.

1 ответ1

0
#!/usr/bin/python 

import re

ITEM_NONE  = 0
ITEM_FOUND = 1

state = ITEM_NONE

out_file = None

with open('/tmp/data.txt','r') as f:
    for line in f.readlines():
        m = re.match(r'^Item code (\d+)$', line)
        if m:
            state = ITEM_FOUND
            out_file = open('/tmp/%d.txt' % int(m.group(1)), 'w')

        m = re.match(r'^$', line)
        if m:
            state = ITEM_NONE 
            out_file.close()

        if state != ITEM_NONE:
            out_file.write(line)

if out_file:
    out_file.close()

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .