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