读取设置密码保护的excel文件,有没有更好的办法?

大家好,我是Python进阶者。

一、前言

前几天在Python最强王者交流群【wen】问了一个Python处理Excel加密文件读取问题。问题如下:

请教:读取设置了密码保护的exlce文件,df = pd.read_excel(file,password='12345678') 报错:got an unexpected keyword argument "password" 目前的解决方法是通过msoffcrypto模块生成新的文件再进行读取,有没有更简单点的方法呢?

二、实现过程

这里【隔壁山楂】指出:好像都差不多麻烦。

ini 复制代码
# pip install pandas xlwings,除此之外还要求电脑上有安装可以打开Excel文件的软件
import pandas as pd
import xlwings

app = xlwings.App(visible=False, add_book=False)
wb = app.books.open(file, password='12345678')
sheet = wb.sheets[0]
df = sheet['A1'].options(pd.DataFrame, index=False, expand='table').value
app.quit()

后来【瑜亮老师】也给了一个代码:

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

decrypted = io.BytesIO()

with open("encrypted.xlsx", "rb") as f:
    file = msoffcrypto.OfficeFile(f)
    file.load_key(password="Passw0rd") 
    file.decrypt(decrypted)

df = pd.read_excel(decrypted)
print(df)
@wen 可以试试这个库

乍一看,好像和粉丝的代码差不多,其实不同,这里【巭孬】指出粉丝的代码是生成新文件再读取,瑜亮老师的是直接从内存里面读取,不用生成新文件。

顺利地解决了粉丝的问题。

如果你也有类似这种Python相关的小问题,欢迎随时来交流群学习交流哦,有问必答!

三、总结

大家好,我是Python进阶者。这篇文章主要盘点了一个Python处理Excel加密文件读取的问题,文中针对该问题,给出了具体的解析和代码实现,帮助粉丝顺利解决了问题。

最后感谢粉丝【wen】提出的问题,感谢【隔壁山楂】、【瑜亮老师】、【巭孬】给出的思路,感谢【莫生气】等人参与学习交流。

【提问补充】温馨提示,大家在群里提问的时候。可以注意下面几点:如果涉及到大文件数据,可以数据脱敏后,发点demo数据来(小文件的意思),然后贴点代码(可以复制的那种),记得发报错截图(截全)。代码不多的话,直接发代码文字即可,代码超过50行这样的话,发个.py文件就行。

相关推荐
哎呀呦呵7 分钟前
python内置模块-re模块介绍使用
java·python·mysql
ss27319 分钟前
手写MyBatis第104弹:SqlSession从工厂构建到执行器选择的深度剖析
java·开发语言·后端·mybatis
paoqi 包奇24 分钟前
pycharm中使用anaconda指定虚拟环境
ide·python·pycharm
fsnine30 分钟前
图像视觉——颜色识别
图像处理·python·计算机视觉
小张的博客之旅31 分钟前
2025年“羊城杯”网络安全大赛 线上初赛 (WriteUp)
python·学习·网络安全
oak隔壁找我35 分钟前
Maven 配置详解
后端
oak隔壁找我37 分钟前
Maven pom.xml 文件详解
后端
yunyi1 小时前
云原生之旅:TCP 穿透,轻松暴露内网服务到公网
后端
小蜗牛编程实录1 小时前
2.MySQL-Buffer Pool详解
后端
Moonbit1 小时前
月报 Vol.04 : 新增 async test 与 async fn main 语法,新增 lexmatch 表达式
后端·github·编程语言