点击上方“Python爬虫与数据挖掘”,进行关注
回复“书籍”即可获赠Python从入门到进阶共10本电子书
今
日
鸡
汤
莫道秋江离别难,舟船明日是长安。
大家好,我是Python进阶者。
一、前言
前几天在Python最强王者交流群【wen】问了一个Python处理Excel加密文件读取问题。问题如下:
请教:读取设置了密码保护的exlce文件,df = pd.read_excel(file,password='12345678')
报错:got an unexpected keyword argument "password"
目前的解决方法是通过msoffcrypto模块生成新的文件再进行读取,有没有更简单点的方法呢?
二、实现过程
这里【隔壁😼山楂】指出:好像都差不多麻烦。
# 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()
后来【瑜亮老师】也给了一个代码:
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文件就行。
大家在学习过程中如果有遇到问题,欢迎随时联系我解决(Python进阶者微信:2584914241),应粉丝要求,我创建了一些ChatGPT机器人交流群和高质量的Python付费学习交流群和付费接单群,欢迎大家加入我的Python学习交流群和接单群!
小伙伴们,快快用实践一下吧!如果在学习过程中,有遇到任何问题,欢迎加我好友,我拉你进Python学习交流群共同探讨学习。
------------------- End -------------------
往期精彩文章推荐:
欢迎大家点赞,留言,转发,转载,感谢大家的相伴与支持
想加入Python学习群请在后台回复【入群】
万水千山总是情,点个【在看】行不行
/今日留言主题/
随便说一两句吧~~