公司文件都加密,用pycharm怎么读取和处理加密excel文件?

如题所述

第1个回答  2024-04-11
帮你找的答案,你试试吧,Pycharm我也不懂。。。。
作者:程序员梓羽同学
链接:https://www.zhihu.com/question/56871342/answer/3266211259
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

对于文件的加解密过程,Python其实也有很多非标准库来帮助我们完成操作,这里主要说明如何完成对Excel文件的解密与读取操作。
我们需要使用到的是msoffcrypto-tool非标准库,可以选择使用pip的方式安装一下即可。
pip intall msoffcrypto-tool

该模块提供了代码层面的解密操作,也提供了CLI终端命令直接解密的操作。
1、使用终端命令
通过在终端命令行输入下面的命令即可完成对Office文件解密操作。
msoffcrypto-tool '加密文件路径' '解密文件路径' -p 123456
其中利用-p参数设置123456为解密文件需要的密码,可以使用该密码来完成解密操作。
2、使用python API
将示例中需要的解密的python模块都导入到当前的代码块中。
import pandas as pdimport msoffcrypto as pto

开始进行解密操作之前,我们首先将加密后的excel原始文件读取为File文件对象。
file_ = pto.OfficeFile(open('D:/test/data.xlsx', 'rb'))

其次,对File文件对象设置文件解密时需要的密码,使用load_key函数加载密码。
file_.load_key(password='123456')

然后,同样使用File文件对象的decrypt函数可以完成对Excel文件的解密操作。
file_.decrypt(open('./data_decrypted.xlsx', 'wb'))

至此,文件解密过程已经完成了,接下来只需要对生成的没有密码的新文件进行操作就可以了。
这里我们使用常用的pandas模块完成了对数据的读取操作就OK了。
data_frame = pd.read_excel('./data_decrypted.xlsx')print(data_frame)
相似回答