Я работаю над проектом, который требует от меня поискать по pubmed
с использованием входов из таблицы Excel
и распечатать подсчет результатов. Я использовал xlrd
и entrez
для выполнения этой работы. Вот что я пробовал.XLRD/Entrez: Поиск по Pubmed и извлечение отсчетов
мне нужно искать через
pubmed
используя имя автора, его/ее медицинской школы, диапазон лет, и имя его/ее наставника, которые все вExcel
таблицы. Я использовалxlrd
, чтобы превратить каждый столбец с необходимой информацией в списки строк.from xlrd import open_workbook book = xlrd.open_workbook("HEENT.xlsx").sheet_by_index(0) med_name = [] for row in sheet.col(2): med_name.append(row) med_school = [] for row in sheet.col(3): med_school.append(row) mentor = [] for row in sheet.col(9): mentor.append(row)
мне удалось напечатать отсчеты моих конкретных запросов с использованием ENTREZ.
from Bio import Entrez Entrez.email = "[email protected]" handle = Entrez.egquery(term="Jennifer Runch AND ((2012[Date - Publication] : 2017[Date - Publication])) ") handle_1 = Entrez.egquery(term = "Jennifer Runch AND ((2012[Date - Publication] : 2017[Date - Publication])) AND Leoard P. Byk") handle_2 = Entrez.egquery(term = "Jennifer Runch AND ((2012[Date - Publication] : 2017[Date - Publication])) AND Southern Illinois University School of Medicine") record = Entrez.read(handle) record_1 = Entrez.read(handle_1) record_2 = Entrez.read(handle_2) pubmed_count = [] for row in record["eGQueryResult"]: if row["DbName"] == "pubmed": pubmed_count.append(row["Count"]) for row in record_1["eGQueryResult"]: if row["DbName"] == "pubmed": pubmed_count.append(row["Count"]) for row in record_2["eGQueryResult"]: if row["DbName"] == "pubmed": pubmed_count.append(row["Count"]) print(pubmed_count) >>>['3', '0', '0']
Проблема заключается в том, что мне нужно заменить имя студента («Дженнифер Runch») со следующим именем студента в списке имен студентов («med_name»), медицинскую школу со следующей школе, имя текущего наставника со следующим именем наставника из списка.
Я думаю, что я должен написать цикл после объявления моей электронной почты pubmed
, но я не уверен, как соединить два блока кода вместе. Кто-нибудь знает об эффективном способе подключения двух блоков кода или умеет делать это более эффективным способом, чем тот, который я пробовал? Спасибо!
Вопрос еще не открыт? –
@MaximilianPeters У меня есть следующий вопрос по этому вопросу, который я отправил в другой поток: http://stackoverflow.com/questions/40161460/searching-on-pubmed-using-biopython –