Я работаю над проектом, который требует от меня поиска pubmed
с использованием входных данных из электронной таблицы Excel
и вывода подсчета результатов. Я использовал xlrd
и entrez
для выполнения этой работы. Вот что я пробовал.
Мне нужно выполнить поиск по
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']
Проблема в том, что мне нужно заменить имя студента («Дженнифер Ранч») на имя следующего студента в списке имен студентов («med_name»), медицинскую школу на следующую школу и имя текущего наставника на следующий имя наставника из списка.
Я думаю, что мне следует написать цикл for после того, как я объявлю свою электронную почту pubmed
, но я не уверен, как связать два блока кода вместе. Кто-нибудь знает эффективный способ соединить два блока кода или знает, как сделать это более эффективным способом, чем тот, который я пробовал? Благодарю вас!