打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
使用Pandas读取加密的Excel文件

excelperfect

标签:Python

如果试图使用pandas读取使用密码加密的Excel文件,并收到以下消息:

这个消息表示试图在不提供密码的情况下读取使用密码加密的文件。在本文中,将展示如何将加密的Excel文件读入pandas

最好的解决方案是使用msoffcrypto库。

使用pip进行安装:

pip install msoffcrypto-tool

将加密的Excel文件直接读取到Pandas

msoffcrypto库有一个load_key()方法来为Excel文件准备密码,然后decrypt()方法解锁文件并将其保存到磁盘。

由于希望将加密的Excel文件直接读取到pandas中,因此保存到磁盘将效率低下。因此,可以将文件内容临时写入内存缓冲区(RAM)。为此,需要使用io库。

import msoffcrypto

import io

import pandas as pd

temp= io.BytesIO()

io.BytesIO()允许将内容写入内存缓冲区(RAM),这有助于比写入磁盘更快地处理文件。

在示例中,密码是“123”,确保在测试此代码时将其替换为自己的密码。下面的代码片段使用“rb”模式以二进制格式打开加密的Excel文件“passwordfile.xlsx”,解锁该文件,然后将内容(Excel文件)保存到名为temp的内存缓冲区(RAM)位置。

with open(r’D:\test\passwordfile.xlsx’, 'rb’) as f:

    excel = msoffcrypto.OfficeFile(f)

    excel.load_key('123’)

    excel.decrypt(temp)

现在,这个临时文件是我们的目标Excel文件,密码被删除,可以继续使用正常的pd.excel()来读取它!

将代码放在一起

这是一个简短的脚本,用于将加密的Excel文件直接读取到pandas中。注意,在此过程中,既没有修改原始Excel文件,也没有在磁盘上创建不必要的文件。

注:本文学习整理自pythoninoffice.com

欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
python如何完成对 Excel文件的解密后读取?
怎样给EXCEL文件加密?
教你给Excel文件加密
excel表格文件怎么加密
如何加密整个磁盘分区?
电脑技巧|加密磁盘给电脑设道防线
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服