Разбить текстовый файл на несколько текстовых файлов на основе определенных критериев

#python

#питон

Вопрос:

Текстовый файл поставляется в таком формате:

 abcd@gmail.com | Country: US defgh@gmail.com | Country: CA
 

Я хочу иметь возможность разделить их на несколько файлов в зависимости от их стран, например US.txt и CA.txt

Комментарии:

1. Пожалуйста, предоставьте пример ввода и желаемый результат. Также укажите, что вы пробовали.

2. вы должны попытаться написать какой-то код, тогда мы сможем вам помочь, мы не можем выполнить эту работу за вас, да поможет Бог тем, кто помогает себе сам

Ответ №1:

Я замечаю, что приведенный выше шаблон выглядит как однострочный файл в шаблоне:

_email_ | Country: _NNN_

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

  • Сначала прочитайте всю строку
  • split() с ' ' помощью; Вы получите список с шаблоном [email, '|', 'Country:' NNN] , который повторяется снова и снова.
  • Возьмите каждый вложенный шаблон и посмотрите на четвертый элемент (давайте назовем это natStr )
  • Откройте файл для добавления имени natstr '.txt' и запишите этот вложенный шаблон (рекомбинируя его)

Я намеренно не включил фактическую реализацию Python, потому что вы должны взглянуть на split() строковую функцию и понять файловый ввод-вывод в Python.

Комментарии:

1. Спасибо за руководство, я только начал изучать Python несколько дней назад

2. Нет проблем! Я надеюсь, что вы добьетесь успеха в этом!

3. Похоже, мне, возможно, придется создать for look для этого, чтобы получить все в списке, я прав?

4. Вы правильно поняли мой намек на «использовать каждый вспомогательный шаблон»; цикл for будет наиболее полезным. После того, как вы получите эту работу, вы можете захотеть узнать о создании функции генератора вместо этого. И обязательно опубликуйте свою попытку на этот вопрос тоже для лучшей помощи!