本文所记述的是一些基础知识点中平时用的比较少的方法。对于常见的一些文件格式,python几乎都有相关的库来进行操作。

一、 excel和csv

首先阐述下个人观点,对excel和csv文件的操作首推pandas,不过pandas主要侧重于数据的处理,如果想进行其他操作可以查看以下两个模块:

使用openpyxl模块可以对excel文件进行一些精细化操作,比如格式、样式、公式、图标等都可以使用python来处理。只不过excel本身也可以使用VBA编程,如何取舍还要视情而定。

使用csv模块的reader和writer方法可以像操作普通文本文件一样读写csv文件,其中涉及一些参数,可以对csv文件的数据进行精细化的操作。使用csv.reader()读取的数据为多维的列表。

二、PDF

PDF是二进制文件,处理起来要比普通文本复杂,但是PDF在日常工作中的使用频率越来越高,还是值得关注。python中有一个专门用来操作PDF的库:PyPDF2。

1.基本的PDF读取

下面这段代码展示了基本的PDF读取流程,其输出的结果就是第一页的内容。

>>> import PyPDF2

>>> pdfFileObj = open(file, 'rb')

>>> pdfReader = PyPDF2.PdfFileReader(pdfFileObj)

>>> pdfReader.numPages # 输出文档的页数

>>> pageObj = pdfReader.getPage(0)

>>> pageObj.extractText() # 输出文档的内容

在这个过程中,首先将pdf打开、读入,然后取得指定的page对象,才能通过extractText()方法获取文本内容。

2.加密PDF的读取

有些pdf是经过加密的,可以通过pdfReader.isEncrypted属性判断文档是否通过加密,如果经过加密则输出结果为True。可以使用pdfReader.decrypt('密码')方法进行解密,返回“1”表示解密成功,可以正常获取page对象及其后的操作。

>>> import PyPDF2

>>> pdfReader = PyPDF2.PdfFileReader(open('encrypted.pdf', 'rb'))

>>> pdfReader.isEncrypted

# 输出:True

>>> pdfReader.decrypt('rosebud')

# 输出:1

需要注意的是,这种方式的解密是临时性的,硬盘中的文件仍然是加密后的文件。

3.PDF的写入

在 PyPDF2 中,与 PdfFileReader 对象相对的是 PdfFileWriter 对象,它可以创建一个新的 PDF 文件。但 PyPDF2 不能将任意文本写入 PDF,PyPDF2 写入 PDF 的能力,仅限于从其他 PDF 中拷贝页面、旋转页面、重叠页面和加密文件。其一般流程如下:

1.打开一个或多个已有的 PDF(源 PDF),得到 PdfFileReader 对象。

2.创建一个新的 PdfFileWriter 对象。

3.将页面从 PdfFileReader 对象拷贝到 PdfFileWriter 对象中。

4.最后,利用 PdfFileWriter 对象写入输出的 PDF。

具体方法这里不进行详述,需要时可查阅相关资料。

三、word

创建和修改word文档,可以使用 python-docx 模块。关于word文档的数据特性,在《python编程快速上手》这本书中讲的很好,我这里直接截图:

1553504381716.png

注:关于docx模块是否只能操作.docx文件而不能操作.doc文件这一点还有待核实。

1.docx文件的读取

使用docx模块可以接受一个.docx文件,获取其中的全部文本字符:

import docx

def getText(filename):

doc = docx.Document(filename)

fullText = []

for para in doc.paragraphs:

fullText.append(para.text)

return '\n'.join(fullText)

当然,也可以分段提取paragraphs和runs的数据,例如:

>>> import docx

>>> doc = docx.Document('demo.docx')

>>> len(doc.paragraphs)

7

>>> doc.paragraphs[0].text

'Document Title'

>>> doc.paragraphs[1].text

'A plain paragraph with some bold and some italic'

>>> len(doc.paragraphs[1].runs)

4

>>> doc.paragraphs[1].runs[0].text

'A plain paragraph with some '

>>> doc.paragraphs[1].runs[1].text

'bold'

>>> doc.paragraphs[1].runs[2].text

' and some '

>>> doc.paragraphs[1].runs[3].text

'italic'

2.docx文件的写入

要进行word文档的写入,首先要注意设置paragraphs和runs的样式,然后创建一个新的、空白的 Word

Document 对象,再将新文本写入到Document中。另外,还可以向文档中添加标题、换行符换页符、图片等。(详细内容暂略)

总之,由于word中的内容不是单纯的字符串,而是带有特定的格式和属性,因此操作起来相对复杂一些。

四、json

json是一种非常流行的数据格式,MongoDB的数据就是json格式存储的。python对json文件的操作依赖于json模块。

1.json文件的读取

使用json.loads()方法可以将json格式的文件转换为python能够识别的数据(dict)。例如:

>>> stringOfJsonData = '{"name": "Zophie", "isCat": true, "miceCaught": 0,

"felineIQ": null}'

>>> import json

>>> jsonDataAsPythonValue = json.loads(stringOfJsonData)

>>> jsonDataAsPythonValue

{'isCat': True, 'miceCaught': 0, 'name': 'Zophie', 'felineIQ': None}

2.json文件的写入

与loads()方法相对应,使用json.dumps()可以将python数据转换为json数据。例如:

>>> pythonValue = {'isCat': True, 'miceCaught': 0, 'name': 'Zophie',

'felineIQ': None}

>>> import json

>>> stringOfJsonData = json.dumps(pythonValue)

>>> stringOfJsonData

'{"isCat": true, "felineIQ": null, "miceCaught": 0, "name": "Zophie" }'

python读取加密word_python的特殊文件操作——excel、PDF、word、json、csv相关推荐

  1. python excel 打印文档_教你如何用Python轻轻松松操作Excel、Word、CSV,一文就够了,赶紧码住!!!...

    原标题:教你如何用Python轻轻松松操作Excel.Word.CSV,一文就够了,赶紧码住!!! 作者:奈何缘浅wyj Python 操作 Excel 常用工具 数据处理是 Python 的一大应用 ...

  2. python读取加密word_Python 实现加密过的PDF文件转WORD格式

    更多python教程请到: 菜鸟教程www.piaodoo.com 人人影视www.sfkyty.com 实现方法简介 许多文件都支持转换为PDF格式,诸如Word,Excel,PowerPoint, ...

  3. python读取加密excel_python使用pywin32模块给excel文件加密解密

    import win32com.client "' 本脚本加密解密excel只适用于windows平台 "' def decrypt_excel(encrypt_excel_pat ...

  4. asp.net 设置 excel alignment_教你如何用Python轻轻松松操作Excel、Word、CSV,一文就够了,赶紧码住!!!...

    作者:奈何缘浅wyj https://juejin.im/post/6868073137263607821 Python 操作 Excel 常用工具 数据处理是 Python 的一大应用场景,而 Ex ...

  5. 万字长文:用Python轻轻松松操作Excel、Word、CSV!

    来源丨编程派 原文丨https://juejin.im/post/6868073137263607821 Python 操作 Excel 常用工具 数据处理是 Python 的一大应用场景,而 Exc ...

  6. excel和csv区别pythonvin号_教你如何用python轻轻松松操作Excel、Word、CSV,一文就够了,赶紧码住!!!...

    Python 操作 Excel 常用工具 数据处理是 Python 的一大应用场景,而 Excel 又是当前最流行的数据处理软件.因此用 Python 进行数据处理时,很容易会和 Excel 打起交道 ...

  7. asp.net 设置 excel alignment_教你如何用python轻轻松松操作Excel、Word、CSV,一文就够了,赶紧码住!!!

    Python 操作 Excel 常用工具 数据处理是 Python 的一大应用场景,而 Excel 又是当前最流行的数据处理软件.因此用 Python 进行数据处理时,很容易会和 Excel 打起交道 ...

  8. python处理word表格excel_用python轻轻松松操作Excel、Word、CSV,一文就够了!

    Python 操作 Excel 常用工具 数据处理是 Python 的一大应用场景,而 Excel 又是当前最流行的数据处理软件.因此用 Python 进行数据处理时,很容易会和 Excel 打起交道 ...

  9. 【万字收藏】教你如何用Python轻轻松松操作Excel、Word、CSV,一文就够了,赶紧码住!!!...

    来源丨编程派 原文丨https://juejin.im/post/6868073137263607821 Python 操作 Excel 常用工具 数据处理是 Python 的一大应用场景,而 Exc ...

  10. 【Python】excel格式转换操作 -操作Excel、Word、CSV(4)(保姆级图文注释+测试代码+api例程)

    目录 预览效果: API说明: 基本例程 总结 欢迎关注 『Python』 系列,持续更新中 欢迎关注 『Python』 系列,持续更新中 预览效果: 可以对字体,颜色.对齐.合并等平时 Excel ...

最新文章

  1. 【Android 逆向】逆向修改游戏应用 ( APK 解析工具 | 解包 -> 分析 -> 重打包 -> 签名 流程 )
  2. redis High Availability---Redis Sentinel翻译
  3. Ubuntu常用APT命令参数
  4. Ruby 的环境搭建及安装
  5. 【转】vs平台工具集介绍,vc6~vs2019各IDE对应的工具集版本
  6. React Hooks的使用(一)——useState、useEffect解析
  7. Spring Cloud 相关配置信息说明
  8. 可做fft分析吗_2020速卖通还要做吗?速卖通2020年市场分析!
  9. html罗马字母怎么打,怎么打罗马数字二 罗马数字 在电脑上怎么打出来呢?
  10. 信号与系统(十八)——傅里叶变换及性质(2)
  11. H3C运维审计系统 Web配置指导(笔记)
  12. Fortran系列(一):KIND的用法
  13. 10019---mybatis的缓存机制(一级缓存二级缓存和刷新缓存)
  14. HTML+CSS+JS网页设计与制作期末大作业:网站——宏源山庄
  15. 六年级计算机学情分析报告,六年级学生学情分析报告.doc
  16. Apache多后缀解析漏洞复现(apache_parsing_vulnerability)
  17. Java Date Time 教程-java.sql.Date
  18. GoJS炫酷的流程图效果
  19. 【SVM】基于matlab的SVM支持向量机训练和测试仿真
  20. npm是用来干什么的?

热门文章

  1. 【知识图谱】Neo4j 导入数据构建知识图谱的三种方法
  2. 使用itext和freemarker来根据Html模板生成PDF文件,加水印、印章
  3. python中base函数_详细的python basemap中各函数的所有参量注释
  4. 分享学JavaScript的第九天
  5. 犀牛书第七版学习笔记:表达式和运算符
  6. Vue官网下载Vue.js和Vue.min.js
  7. 用matlab求状态转移矩阵(给定t)
  8. 非容器化jenkins 连接k8s 集群
  9. php多图片上传插件
  10. Classic界面chatter中的子选项卡配置