0%

如何将PubMed导出BibTex并导入Bibliometrix

上期介绍了怎么用bibliometrix,但是我发现导师要求找的数据库是PubMed而新版的PubMed没有导出BibTex的功能,这可怎么办呢,我又求助万能的谷歌,鼓捣了半天,找到了两种方法~

  • 方法一:通过 Endnote 转换

  • 方法二:通过 python 转换

这两种方法整体而言没有什么差别,只是看哪个用着更顺手而已,从bib文件就可以看出,由于PubMed本身的局限性,无论是哪种方法都没有办法做到Web of Science那种程度的信息量,WoS里面不仅会有每篇文章的基本信息,还会包括每篇参考文献、作者机构、国家等等,实际上只有这种等级的信息量才能够最大限度利用bibliometrix,因此还是推荐WoS进行分析。但既然都找到方法了,那就继续写完好啦,毕竟不然不就白瞎了嘛~

通过Endnote转换

前提:

  • 安装最新版正版Endnote并新建一个Library

方法:

  1. 从PubMed找到所需文献

  2. Send to - Citation Manager - All Results - Create Files

  3. 点击下载完毕的文档,用相应的Library打开

  4. 成功加进Endnote后导出

    File - Export - TXT - BibTex

    如果这里没有BibTex的选项,则需要手动添加——

    1. Tools - Output Styles - open style manager

    2. 找到 BibTex 并勾选

    3. 如果没有 BibTex 的选项,则点击 Get more on Web 并在弹出的网页搜索 BibTex

    4. 点击 Download 下载并将下载好的文件放到 Endnote - Styles 文件夹里就有啦

通过 python 转换

前提:

  • 已有Python3和相应编程软件如Visual Code Studio

方法:

  1. 从PubMed下载所需文献的PMID导出

  2. 打开 terminal 用 pip 下载 pubmed_bibtex 这个库可以将PMID转换为对应的BibTex信息

    1
    python3 -m pip install pubmed-bibtex
  3. 新建python文件,读取下载的文档、转换并写入 bibtex

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    from pubmed_bibtex import bibtex_entry_from_pmid

    # 打开文件
    inputFile = open("pmid-physicalac-set.txt", "r") #只有将下载的PMID文档放入python文件同一个文件夹才可以用相对路径 否则用绝对路径
    outputFile = open("output.txt", "w") #新建输出文档

    for line in inputFile.readlines(): #依次读取每行
    line = line.strip() #去掉每行头尾空白
    print ("读取的数据为: %s" % (line))
    bibMes = bibtex_entry_from_pmid(int(line))
    print(bibMes)
    outputFile.write(bibMes) #写入输出文档

    # 关闭文件
    inputFile.close()
    outputFile.close()
  4. 这个时候python文件所在文件夹里就应该有一个名为 output.txt 的文档,里面就是相对应的信息啦,把后缀改为.bib就可以放入 biblioshiny里啦。

    P.S. 只是因为这个库依托的是TexMed,所以转换速度会慢一些,如果量大的话可能得等一阵。