读取设置密码保护的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文件就行。

相关推荐
考虑考虑27 分钟前
JDK26中的List.ofLazy()
java·后端·java ee
朝朝辞暮i35 分钟前
VLA 系统学习第 4 课:一个 Batch 进入神经网络后,模型到底是怎么“学会”的?
人工智能·python·神经网络·vla
小蒜学长39 分钟前
基于SpringBoot的公寓报修管理系统的设计与实现(代码+数据库+LW)
java·spring boot·后端·公寓报修管理系统·多角色协同
Ada's1 小时前
【计算机基础系列】003:Python数据结构
开发语言·数据结构·python
云浪1 小时前
Go源码分析:搞懂 Go 是如何实现堆的
后端·go·源码阅读
2601_962885722 小时前
如何用 Python 计算 TRIX 三重指数平滑均线指标?
开发语言·python
还卿一钵无情泪2 小时前
Unsloth 微调 构建自己的大模型 没有GPU也能微调
linux·开发语言·人工智能·python·大模型·nlp·unsloth
调试人生的显微镜4 小时前
iOS开发入门:Interface Builder、基础控件及UITextField详解
后端·ios
泡海椒4 小时前
巡检照片与工单附件:jquick-pdf 图片嵌入的业务实战
后端
蜗牛互联网4 小时前
Python消费Responses SSE事件:增量文本、超时与取消
java·开发语言·人工智能·后端·python