用pd去读Excel 加了openpyxl作为engine报错

点击上方“Python爬虫与数据挖掘”,进行关注

回复“书籍”即可获赠Python从入门到进阶共10本电子书

昆明池水汉时功,武帝旌旗在眼中。

大家好,我是Python进阶者。

一、前言

前几天在Python白银交流群【菜🐤】问了一个Pandas数据处理的问题,问题如下:

各位大佬 我用pd去读Excel 加了openpyxl作为engine报错。是公司的Excel有加密的原因吗?

d97558b4877b7fe7c062564876002060.jpeg

二、实现过程

这里【王者级混子】建议:应该是的 with open() as f:能打开不。

后来粉丝自己尝试了,发现打不开。

4501fa9346687b753b83c08685791249.png

后来【此类生物】、【一念之间】也都给了一些经验分享,后来粉丝自己尝试发现路径换了绝对路径 还不行 。

后来【论草莓如何成为冻干莓】给了一个指导,

9ab7dc0565519988d3c2e6e855405d1c.png

你点开是需要输密码吗,就是这个文件是加密状态的。如果是加密的,目前pandas内嵌的excel读取模块都不支持。需要先解密,才能正常读取。

粉丝反馈:就是公司电脑的文件一旦打开都会是加密的状态显示 在自己电脑可以打开但是不能外传 外传之前需要申请解密。

如果是这样的情况,那就是加密了,,,,有点难顶。可能得问下公司的IT,如何用python读他这鬼东西了。

后来【瑜亮老师】追问粉丝的需求,就是说,打开这个excel表格后,你要做什么。粉丝反馈:需求就是想把那几个表格的数据合并在一起  就是每天会有人给我一个固定格式的Excel 需要里面的数据而已 一般都是手动打开看处理一下子。

【末那识】后来也给了一个代码,如下:

from openpyxl import load_workbook
import pandas as pd

# 加载加密的 Excel 文件
workbook = load_workbook(filename='your_file.xlsx', read_only=True, password='your_password')

# 选择要读取的工作表
sheet = workbook.active

# 将工作表转换为 pandas DataFrame
data = pd.DataFrame(sheet.values)

这个代码是给予密码已知的情况下,这里【黄志诚】也指出应该就是加密的问题,关键他应该不知道这个,执行密码,这个知道就好办了。拿着这串代码去问IT,your_password是什么,不告诉你就和他拼了。

粉丝后来也发现自己的系统也有问题 右键自己新建的Excel打不开提示无效或损坏  别人发我的可以打开。

可能也跟自己无意之间设置了文件加密有关,不小心误触了,不过不影响文件使用,先暂时这样了。

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

三、总结

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

最后感谢粉丝【菜🐤】提出的问题,感谢【此类生物】、【一念之间】、【论草莓如何成为冻干莓】、【瑜亮老师】、【末那识】、【黄志诚】给出的思路,感谢【冯诚】等人参与学习交流。

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

bfea55fac0afe1271701e6ee1365ed08.png

大家在学习过程中如果有遇到问题,欢迎随时联系我解决(Python进阶者微信:2584914241),应粉丝要求,我创建了一些ChatGPT机器人交流群和高质量的Python付费学习交流群和付费接单群,欢迎大家加入我的Python学习交流群和接单群!

b3f25087481ff09f3f857e0db6a07367.png

小伙伴们,快快用实践一下吧!如果在学习过程中,有遇到任何问题,欢迎加我好友,我拉你进Python学习交流群共同探讨学习。

e587c7f3867230e15d3f45b2d09161fa.jpeg

------------------- End -------------------

往期精彩文章推荐:

3b894aa2ae0fe294018804503b2d0f6f.png

欢迎大家点赞,留言,转发,转载,感谢大家的相伴与支持

想加入Python学习群请在后台回复【入群

万水千山总是情,点个【在看】行不行

/今日留言主题/

随便说一两句吧~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值