使用python将bibtex文件转换为html(也许是pybtex?)

时间:2010-10-28 00:03:40

标签: python html parsing text-parsing bibtex

您好我想解析bibtex出版物文件并对特定字段(例如年份)进行排序并过滤某些内容,然后将其放在网站上。我遇到了pybtex,它的工作原理是读取和解析bibtex文件,但基本上没有记录,我无法弄清楚如何对条目进行排序。

pybtex是可行的方式(如何对条目进行排序)还是有更好的选择?

非常感谢!!

1 个答案:

答案 0 :(得分:10)

找到一个解决方案,使用pybtex按降序对条目进行排序,最新的出版物首先出现:

from pybtex.database.input import bibtex
from operator import itemgetter, attrgetter
import pprint
parser = bibtex.Parser()
bib_data = parser.parse_file('ref.bib')

def sort_by_year(y, x):
    return int(x[1].fields['year']) - int(y[1].fields['year'])

bib_sorted = sorted(bib_data.entries.items(), cmp=sort_by_year)

for key, value in bib_sorted:
    print key
    print value.fields['year']
    print value.fields['author']
    print value.fields['title']