преобразование файлов bibtex в html с помощью python (может быть, pybtex?) - PullRequest
7 голосов
/ 28 октября 2010

Здравствуйте, я хочу проанализировать файл публикаций bibtex, отсортировать его по определенным полям (например, годам) и отфильтровать определенный контент, чтобы затем разместить его на веб-сайте. Я натолкнулся на pybtex, который работает как чтение и разбор файла bibtex, но в основном он не задокументирован, и я не могу понять, как сортировать записи.

Является ли pybtex подходом (как я могу отсортировать записи) или есть лучшие варианты?

спасибо большое !!

1 Ответ

10 голосов
/ 28 октября 2010

Нашли решение, сортирующее записи в порядке убывания с использованием 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']
...