2010-10-28 13 views
7

Merhaba Bir bibtex yayın dosyasını ayrıştırmak ve belirli alanları (ör. Yıl) sıralamak ve belirli bir içeriği filtrelemek ve ardından bir web sitesine yerleştirmek istiyorum. Ben bibtex dosyasını okumak ve ayrıştırmak kadar iyi çalışır, ama temelde belgelenmez ve girişleri sıralamak için ne olduğunu anlayamıyorum pybtex, rastlamak.bibtex dosyalarını python ile html'ye dönüştürme (belki pybtex?)

Pybtex gitmenin yoludur (girdileri nasıl sıralayabilirim) veya daha iyi seçenekler var mı?

çok teşekkürler! Bir çözüm bulundu

cevap

10

, bu pybtex kullanarak azalan bir şekilde girişlerini sıralar yeni yayınlar ilk gidin:

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'] 
İlgili konular