栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

使用bibtexparser解析bibTex

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用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 test
     multilines...},
  comments = {A comment},
  keywords = {keyword1, keyword2}
}
"""

with open('bibtex.bib', 'w') as bibfile:
    bibfile.write(bibtex)
# 处理bibtex文件

import bibtexparser

with 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 testnmultilines...',
  '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_unicode

with 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]

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/665317.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号