python如何完成对 Excel文件的解密后读取?

通常为了防止重要的Excel文件数据内容的泄露,需要对文件整体进行加密与解密的操作。

对于文件的加解密过程,python也有很多非标准库来帮助我们完成操作,这里主要说明如何完成对Excel文件的解密与读取操作。

这里我们使用到的是msoffcrypto-tool非标准库,可以选择使用pip的方式安装一下即可。

pip intall msoffcrypto-tool

该msoffcrypto-tool模块提供了代码层面的解密操作,也提供了CLI终端命令直接解密的操作。

1.使用终端命令

通过在终端命令行输入下面的命令即可完成对Office文件解密操作。

msoffcrypto-tool '加密文件路径' '解密文件路径' -p 123456

其中利用-p参数设置123456为解密文件需要的密码,可以使用该密码来完成解密操作。

2.使用python API

将示例中需要的解密的python模块都导入到当前的代码块中。

# Importing the pandas module and renaming it as pd.
import pandas as pd

# Importing the msoffcrypto module and renaming it as pto.
import msoffcrypto as pto

开始进行解密操作之前,我们首先将加密后的excel原始文件读取为File文件对象。

# Opening the file in binary mode.
file_ = pto.OfficeFile(open('D:/test/data.xlsx', 'rb'))

其次,对File文件对象设置文件解密时需要的密码,使用load_key函数加载密码。

# Loading the password into the file object.
file_.load_key(password='123456')

然后,同样使用File文件对象的decrypt函数可以完成对Excel文件的解密操作。

# Decrypting the file and saving it to the path specified.
file_.decrypt(open('./data_decrypted.xlsx', 'wb'))

至此,文件解密过程已经完成了,接下来只需要对生成的没有密码的新文件进行操作就可以了。

这里我们使用常用的pandas模块完成了对数据的读取操作就OK了。

# Reading the excel file and storing it in a dataframe.
data_frame = pd.read_excel('./data_decrypted.xlsx')

# Printing the dataframe.
print(data_frame)

关于更多的详细内容可以参考github上面作者对于msoffcrypto相关的详细说明。

https://github.com/nolze/msoffcrypto-tool
往期精彩

python最好用的能源类可视化图表模块,没有之一!

如何解决python读取大数据量文件时造成的内存溢出?

python情感分析:基于jieba的分词及snownlp的情感分析!

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Python 集中营

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值