python抽取pdf中的参考文献

想将一份 pdf 论文中的所有参考文献都提取出来,去掉不必要的换行,放入一个 text 文件,方便复制。其引用是 ieee 格式的,形如:
ieee-ref
想要只在引用序号(如 [3])前换行,其它换行都去掉,即一行一条参考文献。

可用 pypdf[1],其主页有示例,加上 re 去除非序号前的换行(检测 [)。

Code

from pypdf import PdfReader
import re

# 检测非 `[` 前的换行
pattern = r'\n(?!\[)'

reader = PdfReader("paper.pdf")
n_pages = len(reader.pages)
print(n_pages)

with open("ref.txt", "w", encoding="utf-8") as f:
    for i in range(23, 29): # 自己确定 reference 页码范围
        page = reader.pages[i]
        text = page.extract_text()
        text = re.sub(r'-\n', '', text) # hyphen 后换行:连 hyphen 一齐删
        text = re.sub(pattern, ' ', text) # 多余换行换成空格
        f.write(text)# + '\n')

References

  1. py-pdf/pypdf

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/637283.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【中霖教育口碑】什么情况下不允许参加注册会计师考试?

对于某些特殊情况,存在明确的禁止性规定,是不能参加注册会计师考试的,中霖为大家分享一下!关于注册会计师全国统一考试的资格条件,需明确以下要点: 1. 针对在前期注册会计师统一考试中因违反规定而受到禁止参加考试的…

awesome-ai4s 现已开源!超全 AI for Science 学术论文与数据资源汇总,持续更新ing

2018 年中国科学院院士鄂维南提出「AI for Science」概念,强调利用 AI 学习科学原理、创造科学模型来解决实际问题。同年,AlphaFold 崭露头角,从 43 种蛋白质中准确预测出了 25 种蛋白质结构。2021 年,AlphaFold 2 开源并预测了 9…

现代前端工程化实践:Git、Husky、Commitlint与PNPM的协同作战

引言 Git Husky 与 Commitlint 是两个在 Git 工作流程中非常实用的工具,它们可以帮助团队维护代码质量和提交规范。Husky 是一个 Git 钩子管理器,允许你在仓库级别方便地配置钩子脚本;而 Commitlint 则是用来规范 Git 提交信息的工具&#x…

上位机图像处理和嵌入式模块部署(mcu之芯片选择)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 目前市面上的mcu很多,有国产的,有进口的,总之种类很多。以stm32为例,这里面又包括了stm32f1、stm32…

AWS EC2 连接 AWS RDS(Mysql)

1 创建RDS数据库 点击创建数据库 引擎选项 模板 设置 连接 2 EC2连接Mysql $ sudo yum list mariadb* Installed Packages mariadb-connector-c.x86_64 3.1.13-1.amzn2023.0.3 amazonl…

飞睿智能超宽带UWB标签模组,简化设备开发流程,实时高速率数传交互应用

在科技飞速发展的今天,UWB超宽带技术因其高精度、低功耗和高安全性的特点,正逐渐成为智能设备定位和数据传输的新宠。 UWB技术是一种无线通信技术,它通过使用非常宽的频带进行数据传输,从而实现高数据传输速率和高精度定位。 飞…

远动通讯屏的原理和应用

远动通讯屏的原理和应用 远动通讯屏,是一种集显示和远程控制于一体的智能化控制设备。它可以通过网络、通信线路等方式实现与远程设备的通讯和交互,从而实现远程监控和控制。 远动通讯屏实现远程控制的核心原理是基于PLC(Programmable Logic …

彩色进度条(C语言版本)

.h文件 #include<stdio.h> #include<windows.h>#define NUM 101 #define LOAD_UP 50 #define LOAD_DOWN 60 #define SLEEP_SLOW 300 #define SLEEP_FAST 70 版本1&#xff1a;&#xff08;初始版&#xff09; //v1 #include "progress.h" int main() …

C# GetManifestResourceStream 获取项目资源为null解决方案(亲测)

GetManifestResourceStream 获取项目资源为null 使用Stream s assembly.GetManifestResourceStream(Assembly.GetExecutingAssembly().GetName().Name resourceName) 获取资源文件&#xff0c;返回流为null&#xff0c;如图所示&#xff1a; 解决方案 设置资源文件的 属性&…

创建一个python的Django项目文件

创建一个python的Django项目文件(内含conda) 文章目录 创建一个python的Django项目文件(内含conda)前言一、conda环境的下载二、配置conda的环境变量三、激活管理环境四、下载Django五、创建Django项目文件六、启动Django文件七、用pycharm直接创建Django文件 前言 大家好,今天…

Android和flutter交互,maven库的形式导入aar包

记录遇到的问题&#xff0c;在网上找了很多资料&#xff0c;都是太泛泛了&#xff0c;使用后&#xff0c;还不能生效&#xff0c;缺少详细的说明&#xff0c;或者关键代码缺失&#xff0c;我遇到的问题用红色的标注了 导入aar包有两种模式 1.比较繁琐的&#xff0c;手动将aar…

Mac Pro中的开源虚拟机UTM安装ubuntu(Applce M1,M2芯片)(2)

第一步&#xff0c;先安装UTM 链接: https://blog.csdn.net/qq_38382925/article/details/139157877?spm1001.2014.3001.5501 1.在虚拟机上安装Ubuntu 1.1 选择第一个&#xff0c;回车 1.2 语言选择english 1.3 选择done continue: 1.4 输入名字、密码等 1.5 选择继续 1.…

正则表达式(知识总结篇)

本篇文章主要是针对初学者&#xff0c;对正则表达式的理解、作用和应用 正则表达式&#x1f31f; 一、&#x1f349;正则表达式的概述二、&#x1f349;正则表达式的语法和使用三、 &#x1f349;正则表达式的常用操作符四、&#x1f349;re库主要功能函数 一、&#x1f349;正…

ffmpeg-webrtc(metartc)给ffmpeg添加webrtc协议

这个是使用metrtc的库为ffmpeg添加webrtc传输协议&#xff0c;目前国内还有一个这样的开源项目&#xff0c;是杨成立大佬&#xff0c;大师兄他们在做&#xff0c;不过wili页面维护的不好&#xff0c;新手不知道如何使用&#xff0c;我专门对它做过介绍&#xff0c;另一篇博文&a…

Pytorch深度学习实践笔记1

&#x1f3ac;个人简介&#xff1a;一个全栈工程师的升级之路&#xff01; &#x1f4cb;个人专栏&#xff1a;pytorch深度学习 &#x1f380;CSDN主页 发狂的小花 &#x1f304;人生秘诀&#xff1a;学习的本质就是极致重复! 《PyTorch深度学习实践》完结合集_哔哩哔哩_bilibi…

MySQL5个查询

# 总查询 EXPLAIN SELECT * FROM city; # 范围查询 EXPLAIN SELECT * from city where ID>5 and ID<20; #主键查询 EXPLAIN SELECT * from city where ID5; # 索引查询 EXPLAIN SELECT * from city where CountryCodeNLD; # 普通索引 EXPLAIn SELECT * from cit…

班组管理新篇章:打造高效沟通机制,助推团队协同发展

班组作为组织的基本单位&#xff0c;其沟通的顺畅与否直接关系到整个组织的运行效率和团队的凝聚力。建立健全的班组管理沟通机制&#xff0c;不仅是提升工作效率的关键&#xff0c;更是推动团队持续发展的核心动力。那么&#xff0c;如何建立健全的班组管理沟通机制呢&#xf…

很耐看的Go快速开发后台系统框架

序言 秉承Go语言设计思路&#xff0c;我们集成框架简单易用、扩展性好、性能优异、兼顾安全稳定&#xff0c;适合企业及初学者用来开发项目、学习。我们框架和市面上其他家设计的不同&#xff0c;简单一步做到的我们不会两步&#xff0c;框架能自动处理&#xff0c;绝不手动处…

华为云之Zabbix监控平台部署实践

华为云之Zabbix监控平台部署实践 一、本次实践介绍1.1 实践环境简介1.3 本次实践完成目标 二、 相关服务介绍2.1 华为云ECS云服务器介绍2.2 Zabbix介绍 三、环境准备工作3.1 预置实验环境3.2 查看预置环境信息 四、登录华为云4.1 登录华为云4.2 查看ECS状态4.3 连接ECS弹性云服…

API 设计超好用工具--Apifox安装

Apifox下载安装教程 Apifox简介Apifox下载Apifox安装 Apifox简介 在这个信息爆炸的时代&#xff0c;技术的快速发展让我们的生活变得更加便捷。然而&#xff0c;随之而来的是各种复杂的问题和挑战&#xff0c;尤其是在API领域。为了解决这些问题&#xff0c;我们迫切需要一个集…