vb.net读取excel并写入dgv_读取PDF中的表格写入EXCEL?30行代码搞定

办公自动化系列+12d84db7a688fc1c87c89b44d334731a7.png

现在,各类数据分析的书籍,都可以在网上找到PDF版本;

同时,百度文库、各类数据统计文库、行业研究等众多论文报告,是通过PDF的形式去展示输出的;

但是,令人都头疼的是,各类数据分析书中,PDF版本中的表格数据,我们想转化成自己的数据库文件,或者EXCEL文件,却是很难编辑;

今天,就给大家解决这个问题,利用Python,将PDF中的表格和数据读取出来,并写入EXCEL中保存到本地;

先上代码,代码只有30行;

源PDF文件中的表格数据:

5d34abb3d7fbbd32ac6e0827b5106730.png

代码:

# -*- coding: utf-8 -*-
"""
请确保你在运行这个代码的时候,已经安装了pdfplumber库
如果没有安装,请在[附件-命令提示符]下输入:
pip install pdfplumber
"""

import pdfplumber
import xlwt

# 定义保存Excel的位置
workbook = xlwt.Workbook()  #定义workbook
sheet = workbook.add_sheet('Sheet1')  #添加sheet
i = 0 # Excel起始位置

path = input("请输入PDF文件位置:")
#path = "aaaaaa.PDF"  # 导入PDF路径
pdf = pdfplumber.open(path)
print('\n')
print('开始读取数据')
print('\n')

for page in pdf.pages:
    # 获取当前页面的全部文本信息,包括表格中的文字
    # print(page.extract_text())
    for table in page.extract_tables():
        # print(table)
        for row in table:
            print(row)
            for j in range(len(row)):
                sheet.write(i, j, row[j])
            i += 1
        print('---------- 分割线 ----------')

pdf.close()

# 保存Excel表
workbook.save('保存路径/文件名.xls')
print('\n')
print('写入excel成功')
print('保存位置:')
print('保存路径/文件名.xls')
print('\n')
input('PDF取读完毕,按任意键退出')

最终导出的EXCEL文件:

1a11935b17d949de1596acfb633d4fb8.png

简简单单30行代码,就将PDF中的表格数据读取出来,并写入EXCEL啦;

625be4bd257fac774bb04a1332130280.png

拓展:

1、pdfplumber简介

Pdfplumber是一个可以处理pdf格式信息的库。可以查找关于每个文本字符、矩阵、和行的详细信息,也可以对表格进行提取并进行可视化调试。

2、pdfplumber安装

安装直接采用pip即可。命令行中输入

pip install pdfplumber

3、简单使用

import pdfplumber
with pdfplumber.open("path/to/file.pdf") as pdf:
    first_page = pdf.pages[0]
    print(first_page.chars[0])

pdfplumber.pdf中包含了.metadata和.pages两个属性。

  • .metadata是一个包含pdf信息的字典。
  • .pages是一个包含页面信息的列表。

每个pdfplumber.page的类中包含了几个主要的属性。

  • .page_number 页码
  • .width 页面宽度
  • .height 页面高度
  • .objects/.chars/.lines/.rects 这些属性中每一个都是一个列表,每个列表都包含一个字典,每个字典用于说明页面中的对象信息, 包括直线,字符, 方格等位置信息。

4、一些常用的方法

  • .extract_text() 用来提取页面中的文本,将页面的所有字符对象整理为的那个字符串
  • .extract_words() 返回的是所有的单词及其相关信息
  • .extract_tables() 提取页面的表格

python自动化办公宝典

其中 《python自动化办公宝典》 共包含六个章节97页,不仅有详细的代码解释,而且还有详细的图文说明,通俗易懂,让你轻松完成办公自动化。

  • python使用openpyxl操作excel;
  • python使用PyPDF2和pdfplumber操作pdf;
  • python使用python-docx操作word;
  • python使用python-pptx操作PPT;
  • python如何自动收发邮件;
  • python制作电话号码归属地查询工具;
c29ca22ddd8b6c3749caaf2253afc591.png

后台回复关键词:自动化  即可获得 !!!

1bb17854a394a52859fe4395fc4f5d01.png

60737c5fa76d20840a28d2e85fea181d.gif

321827fc812e67ec34110f5c1b7da7f3.pngfb2502f649e33f4bcc12d968edb41b7b.png

db523ed8579f8685f611b487a409056f.gif

下面这本书限时300积分兑换哦

也可参加当当活动每满100减50

感谢北京大学出版社的大力支持

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

reshape [] matlab,matlab之reshape函数

简单来说,reshape(A,m,n)就是用来把原矩阵的元素,按照列读取排成一行,然后按照指定的m*n矩阵再按列放好。比如原矩阵为A 1 2 34 5 67 8 910 11 12我们先给他按列拍成一排(变相说也就是看看reshape(A,1,12))的效…

第一阶段 07类与对象

类与对象 (1)面向对象(简称:OOP,全称:Object Oriented Programming) 面向对象是一种编程思想,相对面向过程而言 面向过程 强调的是功能的过程 面向对象 强调功能的结果,不…

英媒:人工智能终于接近人类智能了吗?

文章来源:金融时报作者:John Thornhill图片来源:网络编辑:江上波摘要:GPT-3被誉为人工智能领域的重大突破,有人认为它甚至显示出初步意识迹象,另一些人则指出GPT-3存在可笑的缺陷。它可以大量炮…

大创中期报告怎么写_课题研究中期报告怎么写?这篇范文很说的很详细

中期报告一般要求1.课题简介:课题由来、课题界定、研究目标、课题研究内容。2.研究情况:按时间顺序或内容板块有条理地说明研究工作的开展情况;有详有略、有主有次地陈述研究过程中做了什么、怎么做的。3.阶段成果:客观地阐明本课…

php数组转换编码,PHP数组转换编码类

class arrayiconv{static protected $in;static protected $out;/*** 静态方法,该方法输入数组并返回数组** param unknown_type $array 输入的数组* param unknown_type $in 输入数组的编码* param unknown_type $out 返回数组的编码* return unknown 返回的数组*/static publ…

智能合约开发solidity编程语言实例

智能合约开发用solidity编程语言部署在以太坊这个区块链平台,本文提供一个官方实战示例快速入门,用例子深入浅出智能合约开发,体会以太坊构建去中心化可信交易技术魅力。智能合约其实是“执行合约条款的计算机交易协议”。区块链上的所有用户…

vba九九乘法表代码_VBA代码模块化--数据透视表

本周工作中,用到了数据透视表的操作,这里汇总一下,学习途径来自网络,学习成果我也乐于分享一二~,代码整理为模块,供大家举一反三,可以套用。① 创建数据透视表,及基本设置先展示数据…

IoT 、5G与边缘计算将会擦出怎样的火花?

来源:半导体行业观察边缘计算是数字世界中最令人兴奋的新概念之一。利用占用空间很少的微型数据中心网络,边缘计算使系统能够实时收集并分析重要数据,而不会增加现有基础设施的负担。在物联网系统中,通常以端到端的方式&#xff0…

js 读取php文件内容为空,PHP 读取文件内容代码(txt,js等)

PHP 读取文件内容代码(txt,js等)发布于 2014-10-15 20:15:37 | 128 次阅读 | 评论: 0 | 来源: 网友投递PHP开源脚本语言PHP(外文名: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点&…

设计法则 - 菲茨定律 (转)

在看张小龙传时,无意间看到了菲茨定律这个设计法则,研究起来十分有趣,在web、app都广泛应用这个法则。而在简书上有人详细介绍了它,已经非常优秀了,所以这里放个链接,供参考学习。 设计法则: Fi…

windows安装pygame(python3.6)_当我试图安装PyGameforPython3.6时,Pip不起作用[过时]

我正在使用windows 10家庭版64位版本。我正在使用Python3.6 64位版本。我试图通过运行python的干净安装来解决这个错误,但这并没有解决问题。我试图通过pip安装pygame,但产生了以下结果:C:\Windows\system32>pip install pygameCollecting…

“嫦娥上月球挖土”!打破尘封44年的人类历史,中国航天实现“五个首次”...

资料来源:人民网、中国新闻网、智东西等物联网智库 整理发布转载请注明来源和出处3!2!1!点火!随着一声声振奋人心的倒计时,北京时间11月24日4时30分,搭载嫦娥五号月球探测器的长征五号遥五运载火…

就php干活,php可以做什么?,懂得这些技巧就够了

PHP,是英文超文本预处理语言Hypertext Preprocessor的缩写。PHP 是一种 HTML 内嵌式的语言,是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,被广泛地运用。工具/材料电脑PHP操作方法011、运行在服务器端&…

世界上有没有无法破解的密码?揭秘量子通信 | 图图是道

来源:文章2020年11月23日发表于《中国日报》的微信公众号 图图是道科学顾问 / 中国科学技术大学副教授 袁岚峰监制 / 柯荣谊 联合监制 / 邢志刚 统筹 / 张若琼总策划 / 王晓莹 主笔 / 张周项 绘制 / 吴洋未来智能实验室的主要工作包括:建立AI智能…

python怎么发图文_用Python发一封图文并茂的邮件

最近使用了不少通讯工具的接口, 比如企业微信机器人,钉钉,微信公众号的接口(未认证的订阅公众号),相对于邮件来说,它们的表现形式太弱。比如没有更丰富的版本方式。当然了,并不是说表现形式越棒就是约好的通知手段&…

evalin matlab,求解MATLAB问题

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼这个是代码:syms x y z[deltafd]xlsread(附件2.xls,FDOA,B2:B290);[x1]xlsread(附件3.xls,主星星历,B2:B290);[x2]xlsread(附件3.xls,邻星星历,B2:B290);[y1]xlsread(附件3.xls,主星星历,C2:C290);[y2]xlsread(附件3.xl…

从源码的角度再看 React JS 中的 setState

在这一篇文章中,我们从源码的角度再次理解下 setState 的更新机制,供深入研究学习之用。 在上一篇手记「深入理解 React JS 中的 setState」中,我们简单地理解了 React 中 setState “诡异”表现的原因。 源码的部分为了保证格式显示正常就截…

科普|深度解析5G与未来天线技术

来源:电子万花筒过去二十年,我们见证了移动通信从1G到4G LTE的转变。在这期间,通信的关键技术在发生变化,处理的信息量成倍增长。而天线,是实现这一跨越式提升不可或缺的组件。按照业界的定义,天线是一种变…

python的百分号和斜杠 除_关于python:如何替换除字母,数字,正斜杠和反斜杠之外的所有字符...

想要解析文本并仅返回字母,数字,正斜杠和反斜杠,并用替换所有其他斜杠。是否可以仅使用一种正则表达式模式,而不是随后需要循环的几种正则表达式模式? 无法获取下面的样式,不能替换正斜杠。line1 "1/R…

php-curl-class,一个简单PHP CURL类

这里要说明一下...这个类的形成是参考了晚上前辈们的代码加上我自己的理解见解而集成的...前辈们的代码出处已经忘记了我在这里感谢这些前辈们给我的启发...希望这个类能给大家带来帮助...如果有不足的地方...请大家多多指点指点这是一个PHP CURL的类public $cookieFile; …