对于经常处理文件的人来说,应该经常使用offic或者wps这样的文件处理工具吧。那么我们可以使用python对办公文档处理吗?答案肯定是可以的,哈哈哈哈哈~ 在python中我们有Pillow,xlrd,xlwt,python-docx,openpyxl,win32com等这些办公自动化的库,废话不多说直接开始吧,哈哈哈哈哈~

1.Pillow库进行图像文件处理

说到Pillow,那么首先要知道怎么安装,安装命令如下:

pip install pillow

Pillow是Python图像处理库PIL发展出来的一个分支,他主要完成图像压缩和图像处理两方面功能需求:

图像归档:对图像进行批处理、生成图像预览、图像格式转换等

图像处理:图像基本处理、像素处理、颜色处理等

其实Pillow最为重要的一个类是Image类,读取和处理图像都可以通过该类来完成。下面简单该类的一些常用方法和属性:

方法 描述
Image.open(filename) 加载图像文件
Image.new(mode, size, color) 创建一个新的图像
Image.open(StringIO.StringIO(buff)) 从字符串中获取图像
Image.frombytes(mode, size, data) 根据像素点data创建图像
Image.verify() 检查图像文件的完整性
Image.save(filename, format) 保存图像,filename文件名,format图片格式
Image.convert(mode) 把图像转换为需要的模式
Image.thumbnail(size) 创建图像压缩图,size为压缩图的大小
Image.resize(size) 根据size大小生成图像副本
Image.rotate(angle) 根据angle角度旋转图像,返回副本

Image.point( func)

根据func函数对每个像素进行运算,返回副本
Image.split() 提取RGB图像的每个颜色通道,返回副本
Image.merge(mode, bands) 合并通道,采用mode色彩,bands为新的颜色通道
Image.crop(left, up, right, below) 对图像进行切割
Image.show() 图像显示
Image.paste(img2,box=none,mask=none) 把img2图像粘贴在Image图像中的box位置
Image.transpose(rotate) 转置图像
属性 描述

Image.format

标识图像格式或者来源,非文件读取,值为None
Image.mode 图像色彩模式,“L"灰度,”RGB“真彩色,”CMYK“出版图像
Image.size 图像的宽和高,单位为像素(px),返回值是二元元组(tuple)

说到这里可能有小伙伴就会问,那有没有其他类呢?哈哈哈哈~当然有啦~ 比如要对图像进行过滤或者增强的需求的,那么PIL库中提供了ImageFilter类和ImageEnhance类,这两个类可以调整色彩度,亮度,对比度,锐化等功能,下面给出常用方法:

方法 描述
ImageEnhance.enhance(factor) 对选择属性增强factor倍
ImageEnhance.Color(m) 调整图像的颜色平衡
ImageEnhance.Contrast(m) 调整图像的对比度
ImageEnhance.Brightness(m) 调整图像的亮度
ImageEnhance.Sharoness(m) 调整图像的锐度
ImageFilter.BLUR 图像模糊效果
ImageFilter.CONTOUR 图像轮廓效果
ImageFilter.DETAIL 图像细化效果
ImageFilter.EDGE_ENHANCE 图像边界加强效果
ImageFilter.EDGE_ENHANCE_MORE 图像阈值边界加强效果
ImageFilter.EMBOSS 图像浮雕效果
ImageFilter.FIND_EDGES 图像边界效果
ImageFilter.SMOOTH 图像平滑效果
ImageFilter.SMOOTH_MORE 图像阈值平滑效果
ImageFilter.SHARPEN 图像锐化效果

上面说了那么的方法,那么怎么使用呢? 哈哈哈哈~废话不多说,直接举例子:

#图片处理
from PIL import Image
from PIL import ImageFilter
from PIL import ImageEnhance
img = Image.open("1.jpg")
print(img.format)        # 输出图片基本信息
print(img.mode)
print(img.size)
img_resize = img.resize((256,256)) # 调整尺寸
img_resize.save("resize1.jpg")
img_rotate = img.rotate(45)         # 旋转
img_rotate.save("rotate1.jpg")
om=img.convert('L')             # 灰度处理
om.save('gray1.jpg')
om = img.filter(ImageFilter.CONTOUR)        # 图片的轮廓
om.save('contour1.jpg')
om = ImageEnhance.Contrast(img).enhance(10)     # 对比度为初始的10倍
om.save('gencontrast1.jpg')
om.transpose(Image.FLIP_LEFT_RIGHT).show()
om.thumbnail(128, 128).show()

2.openpyxl库对Excel表格的自动化处理

说到openpyxl,那么首先要知道怎么安装,安装命令如下:

pip install openpyxl

openpyxl模块主要是让我们可以在python程序中轻松的读取和修改Excel表格的数据,下面举个例子:

#读取excel表格数据
from openpyxl.reader.excel import workbook
def readXlsxFile(path):file = workbook(filename=path)print(file.get_sheet_names)sheets = file.get_sheet_names()sheet = file.get_sheet_by_name(sheets[0])for lineNum in range(1, sheet.max_row + 1):lineList = []print(sheet.max_row, sheet.max_column)for columnNum in range(1, sheet.max_column + 1):# 拿数据value = sheet.cell(row=lineNum,column=columnNum).valueif value != None:lineList.append(value)print(lineList)path = "1.xlsx"
readXlsxFile(path)

由于openpyxl库比较重要,而且内容比较多,所以这里只做简单的介绍,后面会有单独的文章详细介绍它,哈哈哈哈哈~

3.Python-docx库对Word的自动化处理

说到Python-docx,那么首先要知道怎么安装,安装命令如下:

pip install python-docx

但安装时有可能出现下图的错误:

那么我们可以通过​​​​​​卸载 pip uninstall lxml,之后安装>pip install lxml==3.7.3,即可修复,如图:

利用python-docx模块,Python可以创建和修改Word文档,它允许你通过插入文本、填写表格并将图像自动渲染到报告中来自动生成文档。代码如下:

import docx
doc = docx.Document('/home/abel/test.docx')
paras = doc.paragraphs
text_in_doc =[]
for each_p in paras:text_in_doc.append(each_p.text)

4.PyPDF2库对 PDF的自动化处理

说到PyPDF2,那么首先要知道怎么安装,安装命令如下:

pip install PyPDF2

利用PyPDF2库,我们能够拆分、合并、裁剪和转换 PDF 文件的页面;还可以向 PDF 文件添加自定义数据、查看选项和密码;可以从 PDF 中检索文本和元数据,也可以将整个文件合并在一起。

#PDF添加水印练习
import PyPDF2
# 打开需要添加水印的PDF
reader1 = PyPDF2.PdfFileReader('1.pdf')
# 准备水印文件
reader2 = PyPDF2.PdfFileReader('2.pdf')
# 获取水印文件
walter_page = reader2.getPage(0)
# 准备空PDF用来存放新的PDF
new_pdf = PyPDF2.PdfFileWriter()for page_num in range(reader1.getNumPages()):page = reader1.getPage(page_num)  #依次获取每页内容page.mergePage(walter_page)   #为每一页添加水印new_pdf.addPage(page)   #将添加好水印的文件写入空的PDFf = open('32.pdf','wb')   #保存
new_pdf.write(f)

5.python-pptx库对 pptx的自动化处理

说到python-pptx,那么首先要知道怎么安装,安装命令如下:

pip install python-pptx

python-pptx 是一个用于创建和更新 PowerPoint (.pptx) 文件的 Python 库。通过它我们可以让数据库内容生成自定义 PowerPoint 演示文稿。

# 获取某一页Slide中的内容
from pptx import PPT
prs = PPT('1.pptx')
for i, slide in enumerate(prs.slides):if i == 4:for shape in slide.shapes:if shape.has_text_frame:text_frame = shape.text_frameprint(text_frame.text)

6.win32com库自动化处理

说到win32com,那么首先要知道怎么安装,安装命令如下:

pip install pypiwin32

其实说到这个库,那更加了不得了,win32com 模块可以为 Python 提供调用 windows 底层组件对 word 、Excel、PPT、PDF 等进行操作的功能。

#创建word文件
import win32com
import win32com.client
import osdef makeWordFile(path, name):word = win32com.client.Dispatch("Word.Application")# 让文档可见word.Visible = True# 创建文档doc = word.Documents.Add()# 写内容从头开始写r = doc.Range(0, 0)r.InsertAfter("你好," + name + "\n")r.InsertAfter("python\n")# 存储文件doc.SaveAs(path)doc.Close()word.Quit()names = ["张三", "李四"]
for name in names:path = os.path.join(os.getcwd(), name)makeWordFile(path, name)

总结

其实说了那么多,其实本章只是对办公文档处理所用的库简单的介绍一下,因为每个库的内容都比较多而且重要。所以后面会有相关的章节对 python-docx,openpyxl,win32com库进行详细的介绍,敬请期待~哈哈哈哈哈哈~

python对办公文档处理相关推荐

  1. 【阅读3.8w,收藏2000次】97页《Python自动化办公文档》,让您的 “办公效率” 提高100倍,拿走即用!

    大家可以叫我黄同学(博客名:数据分析与统计学之美,公众号:数据分析与统计学之美),一个应用统计硕士,爱好写一些技术博客,志在用通俗易懂的写作风格,帮助大家学到知识,学好知识! 1. 文档简介 < ...

  2. Python-100-Days学习系列之15.图像和办公文档处理

    Python-100-Days学习 图像和办公文档处理 操作图像 1.颜色 如果你有使用颜料画画的经历,那么一定知道混合红.黄.蓝三种颜料可以得到其他的颜色,事实上这三种颜色就是被我们称为美术三原色的 ...

  3. 办公文档加密,企业文档加密,强制性透明加密技术,fasoft

    随着企事业单位的快速发展,文档以电子文档方式为企事业单位承载着越来越多重要的信息.而由于电子文档的容易散播性,导致企事业单位在外发给客户或合作伙伴的重要资料,都可能会在这交互的过程中被篡改.无序传播等 ...

  4. 【githubshare】开源的文件文档在线预览项目,支持主流办公文档的在线预览,如 doc、docx、Excel、pdf、txt、zip、rar、 图片等

    GitHub 上一份硬核计算机科学 CS 自学计划,偏向软件工程和系统架构方向. 旨在帮助开发者制定一个为期 3-5 年的重学 CS 目标,夯实 CS 基本功,达到美国一流大学 CS 专业本科毕业水平 ...

  5. 办公技巧:如何快速提取办公文档里面的所有图片

    针对一个比较大的办公文档里面有很多图片,有些时候我们需要提取文档里面的所有图片信息,当然你打开文档一个个复制保存就可以了,不过这样太过于繁琐了,有没有更加快速的方法呢?今天给大家分享快速提取办公文档里 ...

  6. 处理办公文档通过共享打印机无法打印

    问题:office或者其他办公文档,想通过共享打印机打印则出现办公文档软件无响向,或无打印记录(适用于域共享打印机) 解决方法 卸载2021-10-1-18的全部windows10的更新(亲测可效)

  7. 办公文档被误删如何用EasyRecovery恢复

    大家在使用办公软件时,是否常常会出现误删文档或未及时保存导致文件丢失的情况?不用担心,有了EasyRecovery强大的文档恢复功能,大家就能轻松找回丢失的文档!下面就跟随小编看看EasyRecove ...

  8. 一个针对现代办公文档中错别字的解决方案:JcJc 错别字在线检查

    一个针对现代办公文档中错别字的解决方案:JcJc 错别字在线检查 在社会学研究中,白领职业通常指四个职业群体:管理者群体.专业技术群体.经营销售人员群体和普通办公室职员群体. 这以上 4 个群体中, ...

  9. 2021上海企业办公文档加密软件怎么选?

    已进入信息化时代,"信息的保护"."数据的保护"等名词已成为人们生活和工作中占据非常重要的位置.信息保护问题也是日益突出,众多企业对信息保护的重视也是非常的高. ...

最新文章

  1. 关于Zend framework 里一段代码的疑问
  2. oracle数据库建表视频,Oracle数据库的创建表全
  3. 古风一棵桃花树简笔画_运用仿真树装饰效果如此浪漫
  4. Nginx详解(正向代理、反向代理、负载均衡原理)
  5. spring mvc 自定义编辑器
  6. RK3568开发笔记-buildroot移远EC20模块调试记录
  7. php 去除 bom,php 去除文件BOM头的方法
  8. 视频教程-金蝶K3 WISE 视频教程-ERP
  9. linux用独显运行steam,linux N卡 steam启动失败解决方案 (32位 库缺失)
  10. 从基础接口工具postman开始夯实软件测试基础(一)
  11. [渗透]缓慢的HTTP拒绝服务攻击原理、利用和防范
  12. LCD 液晶显示器 ---------- LTDC 控制器
  13. Firefox设置谷粉搜搜为默认搜索引擎的方法
  14. 本地搭建自己的电影网站,并发布公网访问 1-3
  15. 微信小程序中使用阿里矢量字体图标
  16. R语言神经网络量化交易模型
  17. java netty wss_netty 配置 wss访问
  18. 济源一中2021高考成绩查询入口,喜讯!高考刷新济源最高纪录!
  19. ZZNUOJ_用C语言编写程序实现1217:统计立方数(附完整源码)
  20. 使用微软云人工智能,合成带感情的语音

热门文章

  1. 计算机系统英语参考文献短,英文计算机类论文参考文献 英文计算机论文参考文献哪里找...
  2. 程序员工作三年月薪不过万,遭其他人疯狂吐槽,为何还不辞职?
  3. 浅谈城市综合管廊分类及其运维管理-Susie 周
  4. 华为od机考真题-能量消耗
  5. html像pho传递表单信息,表单剧本
  6. vs2017 vs2019 打开cs文件提示无法识别的GUID格式
  7. 以我所能,为你而加 —— 新一代音视频融合通信平台全接触
  8. linux ps le hrtime,Linux 高精度定时器hrtimers简单介绍和应用场景
  9. android系统默认值的设置
  10. 【Netcore】This can either be due to a cycle or if the object depth is larger than the maximum allowed