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)
相关推荐
兵慌码乱11 小时前
面向桌面端的资产管理系统分层架构设计与核心模块实现
python·系统架构·sqlite·pyqt5·数据库设计·桌面应用开发·mvc架构
hboot13 小时前
AI工程师第三课 - 机器学习基础
python·scikit-learn·kaggle
顾林海17 小时前
Agent入门阶段-编程基础-Python:流程控制
python·agent·ai编程
呱呱复呱呱20 小时前
Django CBV 源码解读:一个请求是怎么找到你的 get() 方法的
python·django
曲幽1 天前
刚部署的 LibreTranslate 频频翻车?我掏出了 20 年前的 StarDict 词典,用 FastAPI 搭了个本地词典翻译 API
python·fastapi·web·translate·goldendict·libretranslate·stardict·pystardict
荣码1 天前
用Streamlit给AI应用套个界面,10行代码出Web页面
java·python
兵慌码乱1 天前
基于Python+PyQt5+SQLite的药房管理系统实现:事务一致性与界面解耦全流程解析
python·sqlite·信号与槽·pyqt5·数据库设计·桌面应用开发·事务处理
金銀銅鐵1 天前
[Python] 体验用欧几里得算法计算最大公约数的过程
python·数学
FreakStudio2 天前
W55MH32L-EVB 上手测评:硬件 TCP/IP 加持的以太网单片机,MicroPython 零门槛开发
python·单片机·嵌入式·大学生·面向对象·并行计算·电子diy·电子计算机
用户0332126663672 天前
使用 Python 从零创建 Word 文档
python