Pandas 打开有密码的Excel

安装包

pip isntall msoffcrypto-tool

msoffcrypto库的简单介绍

msoffcrypto提供了对Microsoft Office文件进行加密和解密的功能。它支持对Word、Excel和PowerPoint文件进行加密和解密操作。

msoffcrypto的原理是利用Microsoft Office文件的加密算法对文件进行加密和解密。它能够解密使用密码进行保护的Office文件,并将解密后的内容存储在内存或其他文件流中。

代码实现

python 复制代码
import os
import pandas as pd
import msoffcrypto


# pd读取加密的文件
def read_decrypt_file(file_path, password):
    file_temp = io.BytesIO()
    with open(file_path, "rb") as f:
        file = msoffcrypto.OfficeFile(f)
        # 判断是否有密码
        if file.is_encrypted():
            file.load_key(password)
            file.decrypt(file_temp)
        else:
            file_temp = file_path
    # 读取文件
    # df = pd.ExcelFile(file_temp)
    df = pd.read_excel(file_temp)
    return df


if __name__ == '__main__':
    file_path = "你自己的文件路径"
    password = "123"
    df = read_decrypt_file(file_path, password)
    print(df)
相关推荐
2401_865439631 分钟前
mysql如何处理升级后的身份认证兼容性_mysql_native_password配置
jvm·数据库·python
zopple1 分钟前
四大编程语言对比:PHP、Python、Java与易语言
java·python·php
NotFound4863 分钟前
Flask项目目录怎么分_MVC架构在Flask应用中的常见目录树
jvm·数据库·python
2401_897190557 分钟前
JavaScript对象浅拷贝:Object-assign的合并规则
jvm·数据库·python
Shorasul12 分钟前
如何用 fill 配合 map 初始化一个填充了不同对象的数组
jvm·数据库·python
weixin_5860614615 分钟前
golang如何使用go-redis客户端_golang go-redis客户端使用教程
jvm·数据库·python
m0_3776182328 分钟前
C# 异步范围Asynchronous Disposal方法 C# await using如何使用
jvm·数据库·python
qq_2837200538 分钟前
Python 模块精讲:platform 获取系统信息,从入门到实战全攻略
python·platform
vb攻城狮1 小时前
前端害怕被蒸馏 快速入门Python 【demo_03】
python
qq_189807031 小时前
SQL多表嵌套查询数据重复怎么办_使用DISTINCT去重优化策略
jvm·数据库·python