2 changed files with 13103 additions and 0 deletions
File diff suppressed because it is too large
@ -0,0 +1,48 @@ |
|||
import bibtexparser as bp |
|||
from bibtexparser.bparser import BibTexParser |
|||
from bibtexparser.customization import convert_to_unicode |
|||
|
|||
bibdata=[] |
|||
list=[] |
|||
while True: |
|||
filename=input("用于合并的bib文件路径(按回车结束输入):") |
|||
if(filename==""):break |
|||
#filename='/home/tmn07/Desktop/DeepM.bib' |
|||
|
|||
# /home/tmn07/Desktop/DeepM.bib |
|||
# /home/tmn07/Desktop/citations_Neves2002Topology.bib |
|||
|
|||
with open(filename, encoding='UTF-8') as bibfile: |
|||
parser = BibTexParser(common_strings=True) # 声明解析器类 |
|||
parser.customization = convert_to_unicode # 将BibTeX编码强制转换为UTF编码 |
|||
bibdata = bp.load(bibfile, parser) # 通过bp.load()加载 |
|||
|
|||
|
|||
for item in bibdata.entries: |
|||
flag=1 |
|||
for it in list: |
|||
if item['title']==it['title'] and item['ENTRYTYPE']==it['ENTRYTYPE']: |
|||
it=it.update(item) |
|||
flag=0 |
|||
break |
|||
if flag==1:list.append(item) |
|||
|
|||
|
|||
|
|||
#print(list) |
|||
filename=input('保存结果的文件路径:') |
|||
#filename='/home/tmn07/Desktop/result.bib' |
|||
# /home/tmn07/Desktop/result.bib |
|||
bibdata.entries=list |
|||
|
|||
with open(filename,'w') as bibfile: |
|||
|
|||
from bibtexparser.bwriter import BibTexWriter |
|||
|
|||
writer = BibTexWriter() |
|||
writer.contents = ['entries'] |
|||
writer.indent = ' ' |
|||
writer.order_entries_by = ('id') |
|||
e = bp.dumps(bibdata, writer) |
|||
|
|||
bibfile.write(e) |
Loading…
Reference in new issue