В настоящее время я пишу магистерскую диссертацию о нарциссизме генерального директора. Чтобы измерить это, я должен сделать анализ текста звонков о доходах. Я написал код на python, следуя ответам, доступным в эта ссылка, которая позволяет мне извлечь раздел «Вопросы и ответы» из стенограммы телефонных разговоров. Вот такой файл (он называется testoestratto.txt):
..............................
Delimiter [1]
..............................
A text that I don't need
..............................
Delimiter CEO [2]
..............................
I need this text
..............................
Delimiter [3]
..............................
[...]
..............................
Delimiter CEO [n-1]
..............................
I also need this text
..............................
Delimiter [n]
..............................
У меня также есть еще один текстовый файл («lista.txt»), в котором я извлек все разделители из стенограммы:
Delimiter [1]
Delimiter CEO [2]
Delimiter [3]
[...]
Delimiter CEO [n-1]
Delimiter [n]
Что я хотел бы сделать, так это извлечь текст из 'testoestratto.txt' между генеральным директором-разделителем [2] и разделителем [3], ..., а также между генеральным директором-разделителем [n-1] и разделителем [n]. Извлеченный текст должен быть записан в 'test.txt'. Итак, если разделитель из «lista.txt» содержит слово CEO, мне нужен текст из «testoestratto.txt», который находится между этим конкретным разделителем и следующим разделителем из «lista.txt», в котором нет слова « Генеральный директор в нем. Для этого я написал следующий код:
with open('testoestratto.txt','r', encoding='UTF-8') as infile, open('test.txt','a', encoding='UTF-8') as outfile, open('lista.txt', 'r', encoding='UTF-8') as mylist:
text= mylist.readlines()
text= [frase.strip('\n') for frase in text]
bucket=[]
copy = False
for i in range(len(text)):
for line in infile:
if line.strip()==text[i] and text[i].count('CEO')!=0 and text[i].count('CEO')!= -1:
copy=True
elif line.strip()== text[i+1] and text[i+1].count('CEO')==0 or text[i+1].count('CEO')==-1:
for strings in bucket:
outfile.write(strings + '\n')
elif copy:
bucket.append(line.strip())
Однако файл test.txt пуст. Не могли бы вы помочь мне?
P.S. : я новичок в python, поэтому я хотел бы извиниться, если код грязный
with
, пожалуйста? - person Sunny Patel   schedule 18.07.2018