上期介绍了怎么用bibliometrix,但是我发现导师要求找的数据库是PubMed而新版的PubMed没有导出BibTex的功能,这可怎么办呢,我又求助万能的谷歌,鼓捣了半天,找到了两种方法~
方法一:通过 Endnote 转换
方法二:通过 python 转换
这两种方法整体而言没有什么差别,只是看哪个用着更顺手而已,从bib文件就可以看出,由于PubMed本身的局限性,无论是哪种方法都没有办法做到Web of Science那种程度的信息量,WoS里面不仅会有每篇文章的基本信息,还会包括每篇参考文献、作者机构、国家等等,实际上只有这种等级的信息量才能够最大限度利用bibliometrix,因此还是推荐WoS进行分析。但既然都找到方法了,那就继续写完好啦,毕竟不然不就白瞎了嘛~
通过Endnote转换
前提:
- 安装最新版正版Endnote并新建一个Library
方法:
从PubMed找到所需文献
Send to - Citation Manager - All Results - Create Files
点击下载完毕的文档,用相应的Library打开
成功加进Endnote后导出
File - Export - TXT - BibTex
如果这里没有BibTex的选项,则需要手动添加——
Tools - Output Styles - open style manager
找到 BibTex 并勾选
如果没有 BibTex 的选项,则点击 Get more on Web 并在弹出的网页搜索 BibTex
点击 Download 下载并将下载好的文件放到 Endnote - Styles 文件夹里就有啦
通过 python 转换
前提:
- 已有Python3和相应编程软件如Visual Code Studio
方法:
从PubMed下载所需文献的PMID导出
打开 terminal 用 pip 下载 pubmed_bibtex 这个库可以将PMID转换为对应的BibTex信息
1
python3 -m pip install pubmed-bibtex
新建python文件,读取下载的文档、转换并写入 bibtex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16from 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()这个时候python文件所在文件夹里就应该有一个名为 output.txt 的文档,里面就是相对应的信息啦,把后缀改为.bib就可以放入 biblioshiny里啦。
P.S. 只是因为这个库依托的是TexMed,所以转换速度会慢一些,如果量大的话可能得等一阵。