使用bibtexparser解析bibTex

使用示例:

使用Python解析BibText引用格式-python黑洞网

# 生成示例bibtex文件bibtex = """@ARTICLE{Cesar2013,author = {Jean César},title = {An amazing title},year = {2013},month = jan,volume = {12},pages = {12--23},journal = {Nice Journal},abstract = {This is an abstract. This line should be long enough to testmultilines...},comments = {A comment},keywords = {keyword1, keyword2}
}
"""with open('bibtex.bib', 'w') as bibfile:bibfile.write(bibtex)
# 处理bibtex文件import bibtexparserwith open('bibtex.bib') as bibtex_file:bib_database = bibtexparser.load(bibtex_file)print(bib_database.entries)# 输出'''
{'journal': 'Nice Journal','comments': 'A comment','pages': '12--23','month': 'jan','abstract': 'This is an abstract. This line should be long enough to test\nmultilines...','title': 'An amazing title','year': '2013','volume': '12','ID': 'Cesar2013','author': 'Jean César','keyword': 'keyword1, keyword2','ENTRYTYPE': 'article'}]
'''

遇到无法解析月份的问题: 

https://github.com/sciunto-org/python-bibtexparser/issues/280

import bibtexparser as bp
from bibtexparser.bparser import BibTexParser
from bibtexparser.customization import convert_to_unicodewith open('IEEE Proceeding.bib', encoding='UTF-8') as bibfile:parser = BibTexParser(common_strings=True)  # 声明解析器类parser.customization = convert_to_unicode  # 将BibTeX编码强制转换为UTF编码bibdata = bp.load(bibfile, parser)  # 通过bp.load()加载# 输出所有的id
id_list = [item['ID'] for item in bibdata.entries]


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部