失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > wps脚注转参考文献格式

wps脚注转参考文献格式

时间:2021-12-07 02:14:12

相关推荐

wps脚注转参考文献格式

功能:

1.去重

2.按文献类型、出版日期排序

3.中外文文献分类

4.遇到分号自动分割

5.去除图书所包含页码

源码:

# -*- coding: utf-8 -*-"""Created on Thu Apr 21 12:04:03 @author: Zeaf"""import re#导入正则匹配库def zeaf(books,books_foreign,journals,journals_foreign,dissertations,others,literature):#定义一个整理单条文献的函数if len(re.findall('\.',literature))==0:literature=literature+'.'if len(re.findall('\[\d*?\]',literature))!=0:literature=literature.replace(re.findall('\[\d*?\]',literature)[0],'')#去除前缀if len(re.findall('【\d*?】',literature))!=0:literature=literature.replace(re.findall('【\d*?】',literature)[0],'')#去除前缀if len(re.findall('[M]',literature))!=0:#书籍归类if len(re.findall('\d.*?:\d',literature))!=0:#英文冒号后去除literature=literature.replace(re.findall(':\d.*',literature)[0],'.')elif len(re.findall('\d.*?:\d',literature))!=0:#中文冒号后去除literature=literature.replace(re.findall(':\d.*',literature)[0],'.')if len(re.findall('[A-Za-z][A-Za-z]',literature))!=0:#英文文献分类books_foreign.append(literature)else:books.append(literature)elif len(re.findall('[J]',literature))!=0:#期刊归类if len(re.findall('[A-Za-z][A-Za-z]',literature))!=0:#英文文献分类journals_foreign.append(literature)else:journals.append(literature)elif len(re.findall('[D]',literature))!=0:#论文归类dissertations.append(literature)else:#其他归类others.append(literature)def date_sorted(literatures):#定义一个日期排序的函数newliteratures={}datedict={}datelist=[]sortedliteratures=[]for literature in literatures:date=re.findall('\d\d\d\d',literature)[0]datelist.append(date)datedict[literature]=date#创建以文献为key的字典(日期不唯一)sorted_datelist=sorted(datelist,reverse=True)#降序排序for sorted_date in sorted_datelist:lis=[key for key,value in datedict.items() if value==sorted_date]#通过值查找键for li in lis: newliteratures[li]=sorted_date#建立排序好的键值对for key in newliteratures.keys():sortedliteratures.append(key)#遍历键return sortedliteratures#返回排序好的键with open('test.txt', 'r', encoding='utf8') as f1, open('全部文献.txt', 'w') as f2:literatures=f1.readlines()#逐行读取生成列表literatures=list(set(literatures))#去重books=[]books_foreign=[]journals=[]journals_foreign=[]dissertations=[]others=[]for literature in literatures:#读取每行数据literature = literature.strip()#去除空格if len(re.findall(';',literature))!=0:#当文献出现英文分号时literature = literature.split(';')literature[-1]=literature[-1][:-1]#去除最后一个文献的句号以统一格式for x in literature:x=x+'.'#加上句号x=x.strip()#去除空格zeaf(books,books_foreign,journals,journals_foreign,dissertations,others,x)elif len(re.findall(';',literature))!=0:#当文献出现中文分号时literature = literature.split(';')literature[-1]=literature[-1][:-1]#去除最后一个文献的句号以统一格式for x in literature:x=x+'.'#加上句号x=x.strip()#去除空格zeaf(books,books_foreign,journals,journals_foreign,dissertations,others,x) else: zeaf(books,books_foreign,journals,journals_foreign,dissertations,others,literature)#图书再处理books=list(set(books))#再次去重if len(books)!=0:books=date_sorted(books)#外文图书再处理books_foreign=list(set(books_foreign))#再次去重if len(books_foreign)!=0:books_foreign=date_sorted(books_foreign)#期刊再处理journals=list(set(journals))#再次去重if len(journals)!=0:journals=date_sorted(journals)#外文期刊再处理journals_foreign=list(set(journals_foreign))#再次去重if len(journals_foreign)!=0:journals_foreign=date_sorted(journals_foreign)#论文再处理dissertations=list(set(dissertations))#再次去重if len(dissertations)!=0:dissertations=date_sorted(dissertations)#其他再处理others=list(set(others))#再次去重if len(others)!=0:others=date_sorted(others)literatures=books+books_foreign+journals+journals_foreign+dissertations+others#合并整理好的列表i=1for literature in literatures:f2.write('['+str(i)+'] '+literature+'\n')#写入编号i+=1

成品:/f/84onnxhqo5z

使用方法:全选wps文件脚注复制入test.txt文件内,运行exe文件

如果觉得《wps脚注转参考文献格式》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。