将语言过滤器应用于Entrez.esearch和Entrez.efetch

时间:2016-08-02 17:59:36

标签: python filter biopython pubmed

我正在使用Biopython向PubMed查询一些结果。这是代码的一部分:

def search(query):
        Entrez.email = 'gandalf@rivendell.lotr'
        handle = Entrez.esearch(db   = 'pubmed',
                                sort = 'relevance',
                                retmax = '30000',
                                retmode = 'xml',
                                term = query)
        results = Entrez.read(handle)
        return results

我希望结果只有英文论文。我检查了http://www.ncbi.nlm.nih.gov/books/NBK25499/处的文档,但没有找到此过滤器的属性。

PubMed的手动搜索允许按语言过滤。我该如何修改代码?

1 个答案:

答案 0 :(得分:2)

您可以修改搜索字词,如下所示:

query = "{} AND English[Language]".format(query)

handle = Entrez.esearch(db='pubmed',
                        sort='relevance',
                        retmax='30',
                        retmode='xml',
                        term=query)