python读取加密word_python的特殊文件操作——excel、PDF、word、json、csv
本文所记述的是一些基础知识点中平时用的比较少的方法。对于常见的一些文件格式,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相关推荐
- python excel 打印文档_教你如何用Python轻轻松松操作Excel、Word、CSV,一文就够了,赶紧码住!!!...
原标题:教你如何用Python轻轻松松操作Excel.Word.CSV,一文就够了,赶紧码住!!! 作者:奈何缘浅wyj Python 操作 Excel 常用工具 数据处理是 Python 的一大应用 ...
- python读取加密word_Python 实现加密过的PDF文件转WORD格式
更多python教程请到: 菜鸟教程www.piaodoo.com 人人影视www.sfkyty.com 实现方法简介 许多文件都支持转换为PDF格式,诸如Word,Excel,PowerPoint, ...
- python读取加密excel_python使用pywin32模块给excel文件加密解密
import win32com.client "' 本脚本加密解密excel只适用于windows平台 "' def decrypt_excel(encrypt_excel_pat ...
- asp.net 设置 excel alignment_教你如何用Python轻轻松松操作Excel、Word、CSV,一文就够了,赶紧码住!!!...
作者:奈何缘浅wyj https://juejin.im/post/6868073137263607821 Python 操作 Excel 常用工具 数据处理是 Python 的一大应用场景,而 Ex ...
- 万字长文:用Python轻轻松松操作Excel、Word、CSV!
来源丨编程派 原文丨https://juejin.im/post/6868073137263607821 Python 操作 Excel 常用工具 数据处理是 Python 的一大应用场景,而 Exc ...
- excel和csv区别pythonvin号_教你如何用python轻轻松松操作Excel、Word、CSV,一文就够了,赶紧码住!!!...
Python 操作 Excel 常用工具 数据处理是 Python 的一大应用场景,而 Excel 又是当前最流行的数据处理软件.因此用 Python 进行数据处理时,很容易会和 Excel 打起交道 ...
- asp.net 设置 excel alignment_教你如何用python轻轻松松操作Excel、Word、CSV,一文就够了,赶紧码住!!!
Python 操作 Excel 常用工具 数据处理是 Python 的一大应用场景,而 Excel 又是当前最流行的数据处理软件.因此用 Python 进行数据处理时,很容易会和 Excel 打起交道 ...
- python处理word表格excel_用python轻轻松松操作Excel、Word、CSV,一文就够了!
Python 操作 Excel 常用工具 数据处理是 Python 的一大应用场景,而 Excel 又是当前最流行的数据处理软件.因此用 Python 进行数据处理时,很容易会和 Excel 打起交道 ...
- 【万字收藏】教你如何用Python轻轻松松操作Excel、Word、CSV,一文就够了,赶紧码住!!!...
来源丨编程派 原文丨https://juejin.im/post/6868073137263607821 Python 操作 Excel 常用工具 数据处理是 Python 的一大应用场景,而 Exc ...
- 【Python】excel格式转换操作 -操作Excel、Word、CSV(4)(保姆级图文注释+测试代码+api例程)
目录 预览效果: API说明: 基本例程 总结 欢迎关注 『Python』 系列,持续更新中 欢迎关注 『Python』 系列,持续更新中 预览效果: 可以对字体,颜色.对齐.合并等平时 Excel ...
最新文章
- 【Android 逆向】逆向修改游戏应用 ( APK 解析工具 | 解包 -> 分析 -> 重打包 -> 签名 流程 )
- redis High Availability---Redis Sentinel翻译
- Ubuntu常用APT命令参数
- Ruby 的环境搭建及安装
- 【转】vs平台工具集介绍,vc6~vs2019各IDE对应的工具集版本
- React Hooks的使用(一)——useState、useEffect解析
- Spring Cloud 相关配置信息说明
- 可做fft分析吗_2020速卖通还要做吗?速卖通2020年市场分析!
- html罗马字母怎么打,怎么打罗马数字二 罗马数字 在电脑上怎么打出来呢?
- 信号与系统(十八)——傅里叶变换及性质(2)
- H3C运维审计系统 Web配置指导(笔记)
- Fortran系列(一):KIND的用法
- 10019---mybatis的缓存机制(一级缓存二级缓存和刷新缓存)
- HTML+CSS+JS网页设计与制作期末大作业:网站——宏源山庄
- 六年级计算机学情分析报告,六年级学生学情分析报告.doc
- Apache多后缀解析漏洞复现(apache_parsing_vulnerability)
- Java Date Time 教程-java.sql.Date
- GoJS炫酷的流程图效果
- 【SVM】基于matlab的SVM支持向量机训练和测试仿真
- npm是用来干什么的?