给定一个 bibTex 文件,我需要将相应的字段(作者、标题、期刊等)添加到 MySQL 数据库中的表中(使用自定义架构)。
经过一些初步研究后,我发现存在Bibutils http://sourceforge.net/p/bibutils/home/Bibutils/我可以用它来将 bib 文件转换为 xml。我最初的想法是将其转换为 XML,然后用 python 解析 XML 以填充字典。
我的主要问题是:
- 有没有更好的方法可以进行此转换?
- 有没有一个库可以直接解析 bibTex 并为我提供 python 中的字段?
(我确实找到了参考书目解析 http://pypi.python.org/pypi/bibliograph.parsing/1.0.1,它在内部使用 bibutils,但没有太多关于它的文档,并且我发现很难让它工作)。
老问题,但我现在正在使用Pybtex http://pybtex.sourceforge.net/库,它有一个内置的解析器:
from pybtex.database.input import bibtex
#open a bibtex file
parser = bibtex.Parser()
bibdata = parser.parse_file("myrefs.bib")
#loop through the individual references
for bib_id in bibdata.entries:
b = bibdata.entries[bib_id].fields
try:
# change these lines to create a SQL insert
print b["title"]
print b["journal"]
print b["year"]
#deal with multiple authors
for author in bibdata.entries[bib_id].persons["author"]:
print author.first(), author.last()
# field may not exist for a reference
except(KeyError):
continue
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)