import pdfplumber
#全是None
with pdfplumber.open(r"C:\Users\yjiang3\Desktop\Inv.pdf") as pdf:
table_page = pdf.pages[0]
table_page = pdf.pages[1]
table = table_page.extract_table(
table_settings={
"vertical_strategy": "text",
"horizontal_strategy": "text"
})
print(table)
import pdfplumber
from openpyxl import Workbook
#全是None
with pdfplumber.open(r"C:\Users\yjiang3\Desktop\32.pdf") as pdf:
table_page = pdf.pages[262]
table = table_page.extract_table(
table_settings={
"vertical_strategy": "text",
"horizontal_strategy": "text"
})
workbook = Workbook()
sheet = workbook.active
for row in table:
sheet.append(row)
workbook.save(r"C:\Users\yjiang3\Desktop\11.xlsx")
import pdfplumber
from openpyxl import Workbook
#全是None
with pdfplumber.open(r"C:\Users\yjiang3\Desktop\Inv.pdf") as pdf:
table_page = pdf.pages[1] table = table_page.extract_table(
table_settings={
"vertical_strategy": "text",
"horizontal_strategy": "text"
})
workbook = Workbook()
sheet = workbook.active
for row in table:
if not ''.join([str(item) for item in row]) == '': #去掉空行
sheet.append(row) workbook.save(r"C:\Users\yjiang3\Desktop\13.xlsx")
import pdfplumber
from openpyxl import Workbook
#全是None
with pdfplumber.open(r"C:\Users\yjiang3\Desktop\40.pdf") as pdf:
table_page = pdf.pages[38]
table = table_page.extract_table(
table_settings={
"vertical_strategy": "text",
"horizontal_strategy": "text"
})
workbook = Workbook()
sheet = workbook.active
for row in table:
if not ''.join([str(item) for item in row]) == '': #去掉空行
new_row = []
new_row.append(''.join([str(item) if item else '' for item in row[:4]]))
new_row += row[4:]
sheet.append(new_row) workbook.save(r"C:\Users\yjiang3\Desktop\12.xlsx")
import pdfplumber
from openpyxl import Workbook
with pdfplumber.open(r"C:\Users\yjiang3\Desktop\Inv.pdf") as pdf:
table_page = pdf.pages[1]
table = table_page.extract_table(
table_settings={
"vertical_strategy": "text",
"horizontal_strategy": "text"
})
workbook = Workbook()
sheet = workbook.active
for row in table:
if not ''.join([str(item) for item in row]) == '': #去掉空行
new_row = []
new_row.append(''.join([str(item) if item else '' for item in row[:6]]))
new_row += row[6:]
sheet.append(new_row)
workbook.save(r"C:\Users\yjiang3\Desktop\13.xlsx")
import pdfplumber
from openpyxl import Workbook
#全是None
with pdfplumber.open(r"C:\Users\yjiang3\Desktop\40.pdf") as pdf:
table_page = pdf.pages[40]
table = table_page.extract_table(
table_settings={
"vertical_strategy": "text",
"horizontal_strategy": "text"
})
workbook = Workbook()
sheet = workbook.active
for row in table:
if not ''.join([str(item) for item in row]) == '': #去掉空行
new_row = []
new_row.append(''.join([str(item) if item else '' for item in row[:4]]))
new_row += row[4:]
sheet.append(new_row) workbook.save(r"C:\Users\yjiang3\Desktop\20.xlsx")

PDF转置的更多相关文章

  1. 将excel文件批量转成pdf

    防止数据编辑.改动带来的不一致性,常常要将excel文件转成pdf文件再共享.发送给对方.有时excel文件还挺多,手头上保存实在是太慢了.就考虑用VBA批量转置. 掌握几个东西,就比较容易了: 1. ...

  2. C#给PDF文档添加文本和图片页眉

    页眉常用于显示文档的附加信息,我们可以在页眉中插入文本或者图形,例如,页码.日期.公司徽标.文档标题.文件名或作者名等等.那么我们如何以编程的方式添加页眉呢?今天,这篇文章向大家分享如何使用了免费组件 ...

  3. 在线浏览PDF之PDF.JS (附demo)

    平台之大势何人能挡? 带着你的Net飞奔吧!:http://www.cnblogs.com/dunitian/p/4822808.html#skill 下载地址:http://mozilla.gith ...

  4. .NET平台开源项目速览(16)C#写PDF文件类库PDF File Writer介绍

    1年前,我在文章:这些.NET开源项目你知道吗?.NET平台开源文档与报表处理组件集合(三)中(第9个项目),给大家推荐了一个开源免费的PDF读写组件 PDFSharp,PDFSharp我2年前就看过 ...

  5. C#如何在PDF文件添加图片印章

    文档中添加印章可以起一定的作用,比如,防止文件随意被使用,或者确保文档内容的安全性和权威性.C#添加图片印章其实也有很多实现方法,这里我使用的是免费的第三方软件Free Spire.PDF,向大家阐述 ...

  6. C#中如何创建PDF网格并插入图片

    这篇文章我将向大家演示如何以编程的方式在PDF文档中创建一个网格,并将图片插入特定的网格中. 网上有一些类似的解决方法,在这里我选择了一个免费版的PDF组件.安装控件后,创建新项目,添加安装目录下的d ...

  7. 在Asp.Net中操作PDF – iTextSharp - 使用表格

    使用Asp.Net生成PDF最常用的元素应该是表格,表格可以帮助比如订单或者发票类型的文档更加格式化和美观.本篇文章并不会深入探讨表格,仅仅是提供一个使用iTextSharp生成表格的方法介绍 使用i ...

  8. 开源免费且稳定实用的.NET PDF打印组件itextSharp(.NET组件介绍之八)

    在这个.NET组件的介绍系列中,受到了很多园友的支持,一些园友(如:数据之巅. [秦时明月]等等这些大神 )也给我提出了对应的建议,我正在努力去改正,有不足之处还望大家多多包涵.在传播一些简单的知识的 ...

  9. ASP.Net MVC——使用 ITextSharp 完美解决HTML转PDF(中文也可以)

    前言: 最近在做老师交代的一个在线写实验报告的小项目中,有这么个需求:把学生提交的实验报告(HTML形式)直接转成PDF,方便下载和打印. 以前都是直接用rdlc报表实现的,可这次牵扯到图片,并且更为 ...

  10. 在禅道中实现WORD等OFFICE文档转换为PDF进行在线浏览

    条件: 安装好禅道的服务器 能直接浏览PDF的浏览器(或通过 安装插件实现 ) 文档转换服务程序(建议部署在另一台服务器上)     实现 原理: 修改禅道的文件预览功能(OFFICE文档其使用的是下 ...

随机推荐

  1. selenium最常用的基本方法

    1.打开,关闭浏览器 打开chrome浏览器:webdriver.Chorme() 打开Firefox浏览器:webdriver.Firefox() 关闭当前浏览器窗口:driver.close() ...

  2. 第15周作业--JDBC连接数据库

    编写一个应用程序,输入用户名和密码,访问test数据库中t_login表(字段包括id.username.password),验证登录是否成功.当登录成功后,将t_user表(id.name.sex. ...

  3. GFS预报数据下载

    #更新#2019年6月12日之后,gfs预报场存放的目录变了,需要修改.get_gfs.pl第51行改为 $URL='https://nomads.ncep.noaa.gov/pub/data/ncc ...

  4. ID生成器实现方式的优缺点比较以及最优的ID生成器原理剖析

    引用:https://blog.csdn.net/luoyang_java/article/details/90679456 本文的重点主要是ID发号器相关的知识,介绍了雪花算法,以及他的基本原理和实 ...

  5. centos7 python设置虚拟环境

    virtualenv 是一个可以在同一计算机中隔离多个python版本的工具.有时,两个不同的项目可能需要不同版本的python,如 python2.6.6 / python3.0 ,但是如果都装到一 ...

  6. Qt中的串口编程

    串行接口简称串口,也称串行通信接口或串行通讯接口(通常指COM接口),是采用串行通信方式的扩展接口.串行接口(Serial Interface) 是指数据一位一位地顺序传送,其特点是通信线路简单,只要 ...

  7. Visual Studio常用的宏

    $(SolutionDir) 表示获取解决方案文件.sln所在文件夹 $(ProjectDir 获取项目工程文件.vcxproj所在文件夹 $(Configuration) 获取编译后的Debug / ...

  8. FMC128-基于FMC 1路HD-SDI输入输出,1路复合视频输入输出子卡 工业图像输出 图像模拟源

    FMC128-基于FMC 1路HD-SDI输入输出,1路复合视频输入输出子卡 一.板卡概述       FMC板卡包含1路HD-SDI 输入输出,1路复合视频输入输出,用于高清.标清相机的产品测试及智 ...

  9. Spring 装配基础类型

    1 //以String类型为例 2 <bean id="exemptSecretUser" class="java.lang.String"> 3 ...

  10. 1.JavaScript的实现与由来

    1.一个JavaScript由不同的部分组成 核心(ECMAScript)以下简称ES 文档对象模型(DOM) 浏览器对象模型(BOM) ES就是JavaScript的语法层面 而DOM则是浏览器解释 ...