Допустим, у меня есть текстовый файл со следующим содержанием: (Содержание добавлено после оригинального ответа)
Quetiapine fumarate Drug substance This document
Povidone Binder USP
This line doesn't contain any medicine name.
This line contains Quetiapine fumarate which shouldn't be extracted as it not present at the
beginning of the line.
Dibasic calcium phosphate dihydrate Diluent USP is not present in the csv
Lactose monohydrate Diluent USNF
Magnesium stearate Lubricant USNF
Lactose monohydrate, CI 77491
0.6
Colourant
E 172
Some lines to break the group.
Silicon dioxide colloidal anhydrous
(0.004
Gliding agent
Ph Eur
Adding some random lines.
Povidone
(0.2
Lubricant
Ph Eur
У меня есть csv, содержащий список лекарств, который я хочу сопоставить внутри .txt файл и извлеките все данные, которые присутствуют между 2 уникальными лекарствами (когда название лекарства находится в начале строки). (Примеры лекарств из файла csv: 'Quetiapine fumarate', 'Povidone', 'Magnesium stearate', 'Lactose monohydrate' etc etc.)
Я хочу повторить каждое строки моего текстового файла и создавайте группы из одного лекарства в другое.
Это должно происходить только в том случае, если название лекарства присутствует в начале новой строки и отсутствует между строкой.
Ожидаемый результат:
['Quetiapine fumarate Drug substance This document'],
['Povidone Binder USP'],
['Lactose monohydrate Diluent USNF'],
['Magnesium stearate Lubricant USNF'],
[Lactose monohydrate, CI 77491
0.6
Colourant
E 172],
[Povidone
(0.2
Lubricant
Ph Eur]
Может кто-нибудь помочь мне с этим же сделать это в Python?
Попытка до сих пор:
with open('C:/Users/test1.txt', 'r', encoding='utf8') as file:
data = file.read()
medicines = ('Quetiapine fumarate', 'Povidone', 'Magnesium stearate', 'Lactose monohydrate')
result = []
#with open('C:\Users\substancecopy.csv') as f:
for line in data:
if any(line.startswith(med) for med in medicines):
result.append(line.strip())
Мне нужно захватить весь текст из одного лекарства в другое, как показано в ожидаемом результате, чего не происходит с этим фрагментом кода