使用Pandas读取加密的Excel文件 | 您所在的位置:网站首页 › python给excel加密 › 使用Pandas读取加密的Excel文件 |
标签: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文件,也没有在磁盘上创建不必要的文件。 ![]() |
CopyRight 2018-2019 实验室设备网 版权所有 |