7
您好,我想解析一個bibtex發佈文件並對特定字段(例如年份)進行排序並過濾某些內容,然後將其放到網站上。我遇到了pybtex,它可以在閱讀和解析bibtex文件時工作,但它基本上沒有記錄,我無法弄清楚如何對條目進行排序。用python將bibtex文件轉換爲html(可能是pybtex?)
是pybtex的路要走(我如何排序條目)還是有更好的選擇?
非常感謝!
您好,我想解析一個bibtex發佈文件並對特定字段(例如年份)進行排序並過濾某些內容,然後將其放到網站上。我遇到了pybtex,它可以在閱讀和解析bibtex文件時工作,但它基本上沒有記錄,我無法弄清楚如何對條目進行排序。用python將bibtex文件轉換爲html(可能是pybtex?)
是pybtex的路要走(我如何排序條目)還是有更好的選擇?
非常感謝!
找到了解決辦法,這個排序使用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']