2016-11-21 2 views
0

В настоящее время я использую BioPython для запроса записей PubMed из PMID. Я тогда хранить нужную информацию в переменной с именем абстрактной с типом данных:Преобразование класса Bio.Entrez в строку

class 'Bio.Entrez.Parser.StructureElement'> 

Например, если я печатаю это я получаю это:

{u'AbstractText': ['Hypercholesterolemia and hypertension are frequently associated with elevated sympathetic activity. Both are independent cardiovascular ris....']} 

Я хотел бы написать текст между квадратом скобки к строке. Как я могу быстро и эффективно это сделать?

ответ

0

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

from Bio import Medline 
from Bio import Entrez 
Entrez.email = '[email protected]' 

#a list of pubmed IDs 
idlist = ['10024335'] 

#query PubMed 
handle = Entrez.efetch(db="pubmed", id=idlist, rettype="medline", retmode="text") 
records = Medline.parse(handle) 

#print the abstract of all records 
for r in records: 
    print(r['AB']) 

Выход

'гиперхолестеринемия и гипертония часто связаны с

...

структурные повреждения в гиперхолестеринемией гипертоников.

0

Вы должны признать это как словарь Python:

{u'AbstractText': ['Hypercholesterolemia and hypertension are frequently associated with elevated sympathetic activity. Both are independent cardiovascular ris....']}

Здесь 'AbstractTest' является ключом словаря, и ['Hypercholesterolemia and hypertension are frequently associated with elevated sympathetic activity. Both are independent cardiovascular ris....'] связанное с ним значение.

Уведомление ['Hypercholesterolemia and hypertension are frequently associated with elevated sympathetic activity. Both are independent cardiovascular ris....'] - это список Python, содержащий одну строку (показанную усеченной с точками).

Значит, что-то вроде my_dict['AbstractTest'][0] даст вам первую запись в этом списке.

Смежные вопросы