功能:
1.去重

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

3.中外文文献分类

4.遇到分号自动分割

5.去除图书所包含页码

源码:

# -*- coding: utf-8 -*-
"""
Created on Thu Apr 21 12:04:03 2022@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

成品:https://ws28.cn/f/84onnxhqo5z

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

wps脚注转参考文献格式相关推荐

  1. PHP2019参考文献,2019论文参考文献格式

    2019论文参考文献格式 相关内容: 根据<中国高校自然科学学报编排规范>的要求书写参考文献,并按顺序编码制,作者只写到第三位,余者写等,英文作者超过3人写et al(斜体).序号用中扩号 ...

  2. 为什么要有不同的参考文献格式?

    文章参考文献格式是个很麻烦的事情,尤其是需要改投其他期刊的时候,却发现他们使用的参考文献格式是不一样的,只能很郁闷地花时间逐条细心更改.有时也会颇觉疑惑,为什么不同期刊要使用不同的文献格式?到底有多少 ...

  3. Endnote—如何修改和制作参考文献格式

    在Endnote里,每一种参考文献的格式都是储存在一个style文件里的,如果需要使用不同的参开文献格式,可以有多个选择: 1.使用别人制作好的style文件,就是在Endnote里自带的一些文献格式 ...

  4. 如何利用WPS文字引用参考文献

    目录 如何利用WPS文字引用参考文献 如何利用WPS文字引用参考文献 我们就可以利用插入尾注的方法来插入参考文献. 然后在尾注下面单击鼠标右键,在下拉菜单中点击选择性粘贴. 然后系统会自动弹出一个对话 ...

  5. 关于学术论文的参考文献格式

    论文的参考文献格式是每一个刚刚学习写论文的学者特别头疼的事儿,甚至是已经发表过论文的人,让他一上来就把这个事儿说明白也能懵逼,那我就把它写出来,这样以后有人问我这个,我就有了如何写参考文献的" ...

  6. etal斜体吗 参考文献_论文格式与论文参考文献格式

    科学技术报告.学位论文.学术论文以及其它类似文件是主要的科技信息源,是记录科学技术进步的历史性文件.为了统一这些文件的撰写.编辑.印刷.出版.发行,便于处理.储存.检索.利用.交流.传播.现将中华人民 ...

  7. 获取现成的参考文献格式方法

    一.用Google学术 若被墙,可以用谷粉搜搜等类似替代网站使用相关功能 比如想知道"PCA-SIFT: A more distinctive representation for loca ...

  8. 引用参考文献不显示_如何简单几步来一键修改参考文献格式

    偶尔会遇到投文章给杂志社时,发现该杂志的参考文献格式并没有录入到NoteExpress中.比如说,该杂志要求只显示前三个作者,要求显示引用文章的年份和日期,要求只显示引用杂志的缩写而不是全名等等各种要 ...

  9. 如何在论文中自动生成标准的参考文献格式

    首先下载EndNote软件,word中会自动显示EndNote选项 选择EndNote 选择导出会下载一个txt文件 打开EndNote中向下的箭头导入(从文件导入文献到库中)找到刚才下载的txt文件 ...

最新文章

  1. R语言层次聚类模型示例
  2. python读取excel日期内容读出来是数字-Python xlrd读取excel日期类型的2种方法
  3. linux centos 回收站,centos rm 回收站
  4. 深度学习(九)——花式卷积
  5. Web工程师必备的43款可视化工具
  6. 求质数算法的N种境界 (N 10) zz
  7. 【数字逻辑设计】卡诺图
  8. echarts 折线图数据太多会导致卡顿_重新定义数据图表,还有比这个更厉害的吗?...
  9. 面向对象进阶4:软件开发规范
  10. 【Gym 100947E】Qwerty78 Trip(组合数取模/费马小定理)
  11. 十沣科技自主研发仿真软件 有效实现飞机起落噪声精细仿真
  12. 【预测模型-ELAMN预测】基于海鸥算法优化ELMAN神经网络实现数据回归预测
  13. 视频教程-2021软考软件设计师--基础知识培训视频-软考
  14. 1.1计算机解决问题的过程教案,1.1 计算机解决问题的过程
  15. 写给 羊 哥的一篇博客
  16. 如何让搜狗收录方法分享
  17. Android穿山甲SDK激励视频
  18. 【侯捷】C++ STL
  19. Nosql - redis 的学习
  20. 太乐地图下载器5.0.5(破解版)

热门文章

  1. [ZJOI] 物流运输
  2. 「Charles 应用」通过 Charles 分析社区话题功能
  3. arm服务器芯片主板,Broadcom的Arm服务器芯片获重生:Cavium发布双插槽ThunderX2
  4. LC3-仿真器的安装
  5. 【详解】计算机视觉之图像分类
  6. MBA-day10 逻辑学-直言
  7. 计算机专业成长计划书,计算机专业学习计划书.doc
  8. tracer静态和缺省路由配置_Ciso Packet Tracer配置静态路由及默认路由(一)
  9. java调用方法_JAVA中方法的调用(详细整理)
  10. 15 【Pinia】