python的实验报告参考文献_用 Python 为毕业论文参考文献排序

“能想到,就能省出时间” 这是我本文主要表达的目的,不是程序。程序谁都能写。人生苦短,我XXXX

其实我也是突发奇想,起因是毕设的参考文献都是英文,学校的指导规范要求参考文献必须以第一作者的首字母排序。e.g.

[1] Alice ...

[2] Bob ...

[3] Charlie ...

Copyright © https://zhuanlan.zhihu.com/ysimonguo-research. All Rights Reserved

然而下里巴人的我,当时并没有想到用 Endnote(甚至还是保研北大的生信大佬后来提醒我我才知道的 ,因为我当时只是知道有个叫 Endnote 的东西,但根本不知道怎么用)。

那么怎么才能把四十多条参考文献按照首字母排序呢?一条条拿眼睛对?这绝对不符合我的风格,为什么呢,前几天,我还发了个朋友圈,在这里转载一下:

毕设要求的文献格式很迷,目测是 GB/T 7714,然而我所有的文献都是之前按 之前投 BMC 时魔改的。

如果一个一个复制文献标题去百度学术搜然后再手动导出符合要求的文献格式显然不符合我的风格,

更别提正文中的引用也要相应由我之前的“[xxx]”改为学校要求的“(xxx et al. 2016)”。

Copyright © https://zhuanlan.zhihu.com/ysimonguo-research. All Rights Reserved

所以直接开元素审查,基本摸清了百度学术的页面结构。

然后开 postman 稍微测试了下,摸清了 API。

反正最后 beautifulsoup 加上写了几个正则,把 request URL一拼接,得到的大致效果就是输入论文标题

文件如图1,程序输出如图2的符合标准的带编号的文献格式(第一行)

以及能在正文中直接使用的引用格式(第二行)。图1 输入图2 输出,注:图中 et al 应为斜体

具体这块的实现,暂时按下不表,我的目的是说明自己很懒,能程序实现的绝不手动。

而今天的主角是这部分工作做完几天后的我才发现需要做的文献排序问题。

其实说穿了,就一行sort代码。读文件加 3 行,写文件加 3 行,6 行搞定。但是,省出来的可是实打实的时间。

具体实现

输入:文本文件 ref_sort,每一行为一字符串

输出:文本文件 ref_sorted,每一行为排序好后的一个字符串

代码:

# Copyright © https://zhuanlan.zhihu.com/ysimonguo-research. All Rights Reserved

f=open('ref_sort', 'r')

refList=f.readlines()

f.close()

# print(sorted(refList))

f=open('ref_sorted','w')

f.writelines(sorted(refList))

f.close()

输出:

Alice...

Bob...

Charlie...

增加需求,要求输出带有参考文献顺序标号

代码:

# Copyright © https://zhuanlan.zhihu.com/ysimonguo-research. All Rights Reserved

f=open('ref_sort', 'r')

refList=f.readlines()

f.close()

j=0

f=open('ref_sorted','w')

for i in sorted(refList):

j=j+1

print([j], i)

ref_line='['+str(j)+']'+i

f.writelines(ref_line)

f.close()

输出:

[1] Alice...

[2] Bob...

[3] Charlie...

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值