精华内容
下载资源
问答
  • Python PDF读取&处理

    千次阅读 2020-04-04 20:34:54
    python PDF处理资料 如何使用Python玩转PDF各种骚操作? 在Python中使用PDF:阅读和拆分 pdfplumber读取 pdf文本和表格处理——pdfplumb PDFPlumber:从PDF文件提取文字和表格的Pythonpython读取pdf文件 使用...

    python PDF处理资料

    如何使用Python玩转PDF各种骚操作?

    在Python中使用PDF:阅读和拆分

    pdfplumber读取

    pdf文本和表格处理——pdfplumb

    PDFPlumber:从PDF文件提取文字和表格的Python库

    python读取pdf文件

    使用pdfplumber读取PDF

    用python 将PDF中的表格转化为Excel

    用python解析pdf中的文本与表格【pdfplumber的安装与使用】

    pypdf2分割合并

    Python:使用pypdf2合并、分割

    自定义函数:分割PDF文件函数

    手把手教你用Python分割与合并PDF

    pdfquery文档查找

    pdfquery, 一种快速友好的PDF

    Camelot表格读取

    github

    python库Camelot从pdf抽取表格数据

    Camelot:从pdf中提取表格数据

    pdfminer\pdfminer3k底层库(复杂)

    python读取pdf中的文本

    Python读取PDF文档(或TXT)

    Python_读取PDF文件内容

    深入学习python解析并读取PDF文件内容的方法

    python 提取pdf文件中的信息

    对比

    Python解析PDF表格——PDFPlumber vs Camelot

    Python:解析PDF文本及表格——pdfminer、tabula、pdfplumber 的用法及对比

    附:存储方式

    pd.DataFrame()函数解析(最清晰的解释)

    python写入csv文件的几种方法

    pandas用法总结

    常见问题

    Python csv生成文件 纯数字文本格式,会生成科学计数

    • 在代码端将这个字段分离出来,改变成字符串,并加上" \t" 就可以解决这个问题

    实例

    import pdfplumber
    import os
    from tqdm import tqdm
    import pandas as pd
    
    columnsTitle = ['股票代码', '年份', '经营情况讨论与分析', '开始页', '终止页', '总字数', '总句子数']
    sentence_signs = ['。', '!', '?', '!', '?']
    pd.DataFrame(columns=columnsTitle).to_csv("text.csv", index=False)
    
    def walkFile(root):
    	dirs = os.listdir(root)
    	return dirs
    
    def csvWriter(dataForm):
    	dataframe = pd.DataFrame(dataForm, columns = columnsTitle)
    	dataframe.to_csv("text.csv", mode='a', index=False, header=False, sep=',')
    
    # 每一页正文范围
    def pageContentRange(pageText):
    	firstEnter = pageText.find('\n')  # 第一个\n
    	# 查找page开始位置
    	if pageText.find("年度报告", 0, firstEnter) or pageText.find("经营情况讨论与分析", 0, firstEnter):
    		pageStartIndex = firstEnter+1
    
    	# 查找页码位置
    	numberIndex = pageText.rfind('\n', -20)
    	return pageStartIndex, numberIndex
    
    # 文件名处理
    def extractSocksYear(file):
    	fileName = (file.split('.')[0]).split('_',1)
    	fileName = list(map(str, fileName))
    	# print(fileName)
    	try:
    		sockName = fileName[0]+'\t'
    		year = fileName[1][:4]
    		# print(sockName, " ", year)
    		# input()
    		return sockName, year
    	except:
    		print(file, "文件名不合规范!")
    	
    
    def getTotalSentenceWords(pageContent):
    	totalWords = 0
    	totalSentence = 0
    	for sign in sentence_signs:
    			totalSentence += pageContent.count(sign)
    
    	totalWords = len(pageContent)
    	return totalSentence, totalWords
    
    def readFile(path):
    	# pdf: 第一节:27
    	with pdfplumber.open(path) as pdf:
    		# print(len(pdf.pages))
    		# print((pdf.pages[17].extract_text())[-10:-5], "***")
    		# print(pdf.pages[17].extract_words())
    		
    		pos1 = 0
    		pos2 = 0
    		flag = 0
    		pageContent = ""
    		
    		for page in pdf.pages:
    			# print("-------第[%d]页-------" % page.page_number)
    			# print(page.extract_text())
    			
    			pageNumber = page.page_number
    			pageText = page.extract_text()
    
    			if not pageText:
    				continue
    
    			pageStartIndex, numberIndex = pageContentRange(pageText)
    
    			textStr = pageText[:80]
    			#for character in :
    			#	textStr += character['text']
    
    			# print(textStr,"****")
    			pageStart = textStr.find("经营情况讨论与分析")
    			if flag == 0 and pageStart != -1:
    				# print(textStr)
    				pos1 = pageNumber
    				firstPageStart = pageStart+9
    				flag = 1
    			elif flag == 1 and textStr.find("重要事项") != -1:
    				pos2 = pageNumber
    				break
    
    			if flag:
    				if pageText:
    					if pageNumber == pos1:
    						pageStartIndex = firstPageStart
    					if pageStartIndex < numberIndex:
    						pageContent += pageText[pageStartIndex:numberIndex]
    						# print(pageStartIndex, "*********", pageText[pageStartIndex:numberIndex])
    	# print(pos1," ",pos2)
    	return pos1, pos2, pageContent
    
    def cnt_func(root):
    	files = walkFile(root)
    	
    	fileLen = len(files)
    
    	fileStart = 0
    	fileEnd = 50
    
    	while fileStart < fileLen:
    		if fileEnd > fileLen:
    			fileEnd = fileLen
    
    		dataForm = []
    		for file in tqdm(files[fileStart:fileEnd]):
    			path = os.path.join(root, file)
    			# print(path)
    
    			pos1, pos2, pageContent = readFile(path)
    			
    				
    			totalSentence, totalWords = getTotalSentenceWords(pageContent)
    
    			sockName,year = extractSocksYear(file)
    
    			dataForm.append([sockName, year, pageContent, pos1, pos2-1, totalWords, totalSentence])
    			# print(dataForm)
    
    
    		# print(dataForm)
    		csvWriter(dataForm)
    		# first_page = pdf.pages[1]
    		# print(first_page.chars[-2])
    		# print(first_page.chars[27])
    		fileStart = fileEnd
    		fileEnd += 50
    
    
    def main():
    	root = os.path.join(os.path.abspath(os.path.dirname(__file__)), 'pdf')
    	cnt_func(root)
    	
    
    if __name__ == '__main__':
    	main()
    
    展开全文
  • Python PDF转图片

    千次阅读 2019-10-10 17:32:21
    Python PDF转图片安装PyMuPDF运行代码 安装PyMuPDF pip install PyMuPDF 如果要能力就可以使用别的库,但是我试了几个库感觉还是这个库简单,也不需要修改系统环境变量。 运行代码 import fitz rotate = int(0) ...

    Python PDF转图片

    安装PyMuPDF

    pip install PyMuPDF
    

    如果要能力就可以使用别的库,但是我试了几个库感觉还是这个库简单,也不需要修改系统环境变量。

    运行代码

    import fitz
    rotate = int(0)
    zoom_x = 1.0
    zoom_y = 1.0
    trans = fitz.Matrix(zoom_x, zoom_y).preRotate(rotate)
    open_file_path =...’
    save_file_path = '...'
    
    pdf = fitz.open(open_file_path )
    for i in range(pdf.pageCount):
        pm = pdf[i].getPixmap(matrix=trans, alpha=False)
        pm.writePNG(save_file_path + '/%s.png' % i)
    
    展开全文
  • python pdf加水印

    千次阅读 2019-05-28 17:52:57
    python pdf加水印 from PyPDF2 import PdfFileReader, PdfFileWriter from reportlab.lib.units import cm from reportlab.pdfgen import canvas def create_watermark(content): """水印信息""" # 默认大小为21...

    python pdf加水印

    from PyPDF2 import PdfFileReader, PdfFileWriter
    from reportlab.lib.units import cm
    from reportlab.pdfgen import canvas
    
    
    def create_watermark(content):
        """水印信息"""
        # 默认大小为21cm*29.7cm
        file_name = "mark.pdf"
        c = canvas.Canvas(file_name, pagesize=(30*cm, 30*cm))
        # 移动坐标原点(坐标系左下为(0,0))
        c.translate(10*cm, 5*cm)
    
        # 设置字体
        c.setFont("Helvetica", 80)
        # 指定描边的颜色
        c.setStrokeColorRGB(0, 1, 0)
        # 指定填充颜色
        c.setFillColorRGB(0, 1, 0)
        # 画一个矩形
        # c.rect(cm, cm, 7*cm, 17*cm, fill=1)
        # 旋转45度,坐标系被旋转
        c.rotate(30)
        # 指定填充颜色
        c.setFillColorRGB(0, 0, 0, 0.1)
        # 设置透明度,1为不透明
        # c.setFillAlpha(0.1)
        # 画几个文本,注意坐标系旋转的影响
        c.drawString(3*cm, 0*cm, content)
        c.setFillAlpha(0.6)
        # 关闭并保存pdf文件
        c.save()
        return file_name
    
    
    def add_watermark(pdf_file_in, pdf_file_mark, pdf_file_out):
        """把水印添加到pdf中"""
        pdf_output = PdfFileWriter()
        input_stream = open(pdf_file_in, 'rb')
        pdf_input = PdfFileReader(input_stream, strict=False)
    
        # 获取PDF文件的页数
        pageNum = pdf_input.getNumPages()
    
        # 读入水印pdf文件
        pdf_watermark = PdfFileReader(open(pdf_file_mark, 'rb'), strict=False)
        # 给每一页打水印
        for i in range(pageNum):
            page = pdf_input.getPage(i)
            page.mergePage(pdf_watermark.getPage(0))
            page.compressContentStreams()  # 压缩内容
            pdf_output.addPage(page)
        pdf_output.write(open(pdf_file_out, 'wb'))
    
    if __name__ == '__main__':
        pdf_file_in = '3.pdf'
        pdf_file_out = 'watermark.pdf'
        pdf_file_mark = create_watermark('wangfei')
        add_watermark(pdf_file_in, pdf_file_mark, pdf_file_out)
    
    展开全文
  • 给大家带来的一篇关于Python相关的电子书资源,介绍了关于Python方面的内容,本书是由人民邮电出版社出版,格式为PDF,资源大小26 MB,卢西亚诺·拉马略编写,目前豆瓣、亚马逊、当当、京东等电子书综合评分为:9.6...

    给大家带来的一篇关于Python相关的电子书资源,介绍了关于Python方面的内容,本书是由人民邮电出版社出版,格式为PDF,资源大小26 MB,卢西亚诺·拉马略编写,目前豆瓣、亚马逊、当当、京东等电子书综合评分为:9.6。

    内容介绍

    流畅的Python致力于帮助Python开发人员挖掘这门语言及相关程序库的优质特性,避免重复劳动,同时写出简洁、流畅、易读、易维护,并且具有地道Python风格的代码。流畅的Python 尤其深入探讨了Python语言的高级用法,涵盖数据结构、Python风格的对象、并行与并发,以及元编程等不同的方面。

    目录

    第一部分 序幕

    第 1 章 Python 数据模型 2

    第二部分 数据结构

    第 2 章 序列构成的数组 16

    第 3 章 字典和集合 54

    第 4 章 文本和字节序列 83

    第三部分 把函数视作对象

    第 5 章 一等函数 118

    第 6 章 使用一等函数实现设计模式 141

    第 7 章 函数装饰器和闭包 154

    第四部分 面向对象惯用法

    第 8 章 对象引用、可变性和垃圾回收 182

    第 9 章 符合 Python 风格的对象 205

    第 10 章 序列的修改、散列和切片 229

    第 11 章 接口:从协议到抽象基类 256

    第 12 章 继承的优缺点 289

    第 13 章 正确重载运算符 307

    第五部分 控制流程

    第 14 章 可迭代的对象、迭代器和生成器 330

    第 15 章 上下文管理器和 else 块 368

    第 16 章 协程 381

    第 17 章 使用期物处理并发 416

    第 18 章 使用 asyncio 包处理并发 442

    第六部分 元编程

    第 19 章 动态属性和特性 482

    第 20 章 属性描述符 514

    第 21 章 类元编程 538

    学习笔记

    人工智能最火编程语言 Python大战Java!

    开发者到底应该学习哪种编程语言才能获得机器学习或数据科学这类工作呢?这是一个非常重要的问题。我们在许多论坛上都有讨论过。现在,我可以提供我自己的答案并解释原因,但我们先看一些数据。毕竟,这是机器学习者和数据科学家应该做的事情:看数据,而不是看观点。 话不多说,上数据。我搜索了与“机器学习”和“数据科学”一起使用的技能,搜索选项包括编程语言Java、C、C++和JavaScript。然后还包括了Python和R,因为我们知道它在机器学习和数据科学方面很受欢迎,当然还有Scala,考虑到它与Spark的关系,再加上Julia,一些开发中认为这是“the next big thing”。运行这个查询,我们得到的数……

    Python实现常见的回文字符串算法

    回文 利用python 自带的翻转 函数 reversed() def is_plalindrome(string): return string == "".join(list(reversed(string)))` 自己实现 def is_plalindrome(string): string = list(string) length = len(string) left = 0 right = length - 1 while left right: if string[left] != string[right]: return False left += 1 right -= 1 return True 最长的回文子串 暴力破解 暴力破解,枚举所有的子串,对每个子串判断是否为回文, 时间复杂度为 O(n^3) 动态规划 def solution(s): s = list(s) l = len(s) dp = [[0] * l for i in range(l)] for i in range(l): dp[i][i] = True # 当 k = 2时要用到 dp[i][i - 1] = True resLeft = 0 resRight = 0 # 枚举子串的长度 for k in range(2, l+1): # 子串的起始位置 for i in range(0, l-k+1): j = i + k - 1 if s[i] == s[j] ……

    以上就是本次介绍的Python电子书的全部相关内容,希望我们整理的资源能够帮助到大家,感谢大家对码农之家的支持。

    展开 +

    收起 -

    展开全文
  • python pdf 添加目录

    千次阅读 2019-11-22 18:28:51
    没有什么是python一个库解决不了的,如果一个不行,就用两个。 安装库: pip install pymupdf 因为功能简单,直接上代码: import fitz doc = fitz.open(r'/var/ax.pdf') # 如果是windows,字符串前面要加r,避免路....
  • python PDF解析】python 读取PDF文件内容

    万次阅读 热门讨论 2017-05-26 11:13:37
    利用python,去读取pdf文本内容。 二、效果 二、实现源代码# coding=utf-8 import sys reload(sys) sys.setdefaultencoding('utf-8') import time time1=time.time() import os.path from pdfminer.pdfparser ...
  • python pdf转为图片

    千次阅读 2019-04-15 16:17:39
    python中用到pdf转图片,实现如下: 安装wand pip install wand 安装imagemagick Mac安装: brew install freetype imagemagick ubuntu安装 : sudo apt-get install libmagickwand-dev CentOS安装: yum ...
  • python pdf转Excel

    2020-08-07 09:44:28
    一个PDF文件,可能有文字也可能有表格,把需要的表格内容写到Excel里面可以这样做。 可以看到,表格的开头是有文字的,可以以它为截取的开始。 源文件为test.pdf 目标文件为pdf.xlsx import pdfplumber # 关键...
  • python pdfminer用法演示

    千次阅读 2018-10-14 23:10:08
    python 3.x需要安装的是pdfminer3k而不是pdfminer(后者仅支持python 2.x),不过在导入的时候的语句都是`import pdfminer` 参考: 1. Python 3.6 中使用pdfminer解析pdf文件 - 大泡泡的专栏 - CSDN博客 ...
  • 常用Python PDF库对比

    2021-01-03 16:04:59
    PDF文档遵循标准格式,因此存在很多可以操作PDF文档的工具,Python自然也不例外。面多众多的Python第三方库,本文从功能、开源协议及社区活跃度三方面加以对比,以便根据具体需求选择合适的库。 概况 功能对比从大...
  • python pdf转word

    千次阅读 2018-04-04 16:03:19
    转自:https://yq.aliyun.com/articles/487610?spm=a2c4e.11153940.blogcont493499.12.655a7962KsKW7M1.安装pdfminer...若安装不成功,可以试试下面方法首先下载pdfminer3k:https://pypi.python.org/pypi/pdfminer...
  • python pdf2word pdf转word

    千次阅读 2019-11-28 10:18:51
    github链接:python-fan/pdf2word 使用: 1、clone或下载git clone https://github.com/Dontla/pdf2word.git 2、pip install -r requirements.txt安装依赖(安装过程可能会出小问题,比如我这里说跟tensorflow-...
  • Python PDF转image方法小结

    千次阅读 2019-03-05 12:21:21
    昨天有一个突发的需求,要求尽快的把一个一百多页的pdf按照页码每页转换成一个jpg文件后打包传回。正好最近一直在学习Python就打算写一个这样的脚本(结果发现踩了坑) Wand 【pypi - Wand】【Wand官网】【Github - ...
  • 想要读取一个pdf,首先使用的是pdfminer3k 包,测试后简单的能够读取成功,换了一个有水印的就读取的值不对,都是写乱码数据类似于(cid:26131)(cid:26126)(cid:32454)(cid:20449)(cid:24687)(cid:22914)(cid:19979)...
  • IT编程电子书大合集下载 UI前端后端测试运维大数据人工智能区块链数据库目标读者本书的目标读者是那些正在使用 Python,又想熟悉 Python 3 的程序员。如果你懂 Python 2,但是想迁移到 Python 3.4 或者更新的版本,...
  • 《Effective Pythonpdf简介:用Python编写程序,是相当容易的,所以这门语言非常流行。但若想掌握Python所特有的优势、魅力和表达能力,则相当困难,而且语言中还有很多隐藏的陷阱,容易令开发者犯错。本书可以帮你...
  • 下载了网易云课堂的吴恩达免费的深度学习的pdf文档,但是每一节是一个pdf,我把这些PDF文档放在一个文件夹下,希望合并成一个PDF文件。于是写了一个python程序,很好的解决了这个问题。二、数据形式 三、合并效果...
  • python pdf 合並

    千次阅读 2011-07-28 17:39:05
    # -*- coding: utf-8 -*- #!/usr/bin/env python import sys import os from pyPdf import PdfFileWriter, PdfFileReader # 这里简化了,可以使用walk,搜索出某目录
  • 今天继续前两天分享过得五本Python学习书籍,但是可能会让部分人失望,因为这本书名叫《Python Cookbook(第3版)中文版》,它更加适合具备一定基础的学习者阅读。 这本书总共有十五章,大致的内容 第一章:...
  • python PDF文件合并、图片处理

    千次阅读 2018-06-11 16:15:06
    一.合并多个PDF文件实例:#导入模块import codecs import os import PyPDF2 as PyPDF2 #建立一个装pdf文件的数组 ...C:\Python27\第二十八课 数据处理"): #如果是以.pdf结尾的文件,则追加到数组中  if fil...
  • Python PDFMiner 解析pdf 文本

    万次阅读 2011-02-18 16:18:00
    先贴一个url 里面又较详细的说明http://cache.baidu.com/c?m=9d78d513d98117fb07b6c8294d029026475bda257a95c7140cc98e0ac02608071d35bfe866794d43c4c50b3a41fa54&p=c6759a41c79c0efc57eace2811&user=baidu&fm=sc&query=pdfminer&qid=d09e6f0c0f78a423&p1=7下面是我的一个示例代码#...-*- coding: utf-8
  • 如题,获取PDF页面的高度和宽度,这里仅获取首页的高度和宽度 解决方案 两种解决方案,分别通过 pdfplumber 和 PyPDF2 两个包来实现 方案1 import time import pdfplumber path = 'E:/data/DT_test/PDF_test/all_...
  • 给大家带来的一篇关于python编程相关的电子书资源,介绍了关于零基础学Python、明日科技方面的内容,本书是由吉林大学出版社出版,格式为PDF,资源大小314 MB,明日科技编写,目前豆瓣、亚马逊、当当、京东等电子书...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 118,366
精华内容 47,346
关键字:

pythonpdf

python 订阅