2010-10-28 34 views
7

हाय मैं एक बिबटेक्स प्रकाशन फ़ाइल को पार्स करना चाहता हूं और विशिष्ट फ़ील्ड (जैसे वर्ष) के लिए सॉर्ट करना चाहता हूं और कुछ सामग्री फ़िल्टर करना चाहता हूं, फिर उसे वेबसाइट पर रखूं। मैं pybtex भर में आया, जो bibtex फ़ाइल को पढ़ने और पार्स करने तक काम करता है, लेकिन मूल रूप से दस्तावेज नहीं किया गया है और मैं यह नहीं समझ सकता कि प्रविष्टियों को कैसे क्रमबद्ध किया जाए।बिबटेक्स फ़ाइलों को पाइथन के साथ एचटीएमएल में परिवर्तित करना (शायद pybtex?)

क्या pybtex जाने का तरीका है (मैं प्रविष्टियों को कैसे क्रमबद्ध कर सकता हूं) या क्या बेहतर विकल्प हैं?

बहुत बहुत धन्यवाद !!

उत्तर

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

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^