およそ640のエントリを含むbibtexファイルがあります(上昇傾向)。私はこのファイルを維持するためにJabrefを使用しています。実際、私は物事を片付けて、Jabrefが助けられないようなことをしたいと思っています。だから私はコードを書いて、できるだけ柔軟にしようと思いました。
いくつかのタスクは、例えば、どの記事に「ファイル」エントリまたは「タイトル」エントリが欠落しているのか?同じファイルエントリを持つ記事など。
私のアプローチは、辞書のリストを作成することでした。辞書には、bibtexファイル内の1つの記事の情報が含まれています。例えば:
elements = [{
'author': 'Ando, K. and Ota, H. and Oki, T',
'comment': 'modelling, fundamental diagram, plane, cellular automata',
'file': 'Ando1988.pdf',
'issue': '2',
'journal': 'Railway R',
'owner': 'bob',
'timestamp': '2008.01.09',
'title': 'Forecasting the flow of people',
'type': 'ARTICLE',
'volume': '45',
'year': '1988'},
{'author': "Helbing, D. and Farkas, I. J. and Moln\\'{a}r, P. and Vicsek, T",
'booktitle': 'Pedestrian and Evacuation Dynamics',
'editor': 'Schreckenberg, Michael and Scharma, Som Deo',
'file': 'Helbing2002.pdf',
'key': 'Helbing2002',
'owner': 'jack',
'publisher': 'Springer',
'timestamp': '2007.12.12',
'title': 'Simulation of pedestrian crowds in normal and evacuation situations',
'type': 'INPROCEEDINGS',
'year': '2002'
}]
この構造で動作する私の関数は、常に次のようなもので始まります
for element in elements:
do_stuff with element
私のコードは問題なく動作しますが、どういうわけか私は力ずくで物事をやっているような気がします。これが私が議論を始めてあなたに尋ねたい理由です:
- 私が使用しているもの(辞書のリスト)よりもすっきり/スマート/エレガントな構造はありますか?
- 情報の処理が容易になるように、データをどのように整理しますか。
編集:記事の種類(BOOK、PROCEEDINGS、ARTICLEなど)が異なるため、また私は人間であるため、辞書のキーとキーの数が異なる場合があります。