前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >用pd去读Excel 加了openpyxl作为engine报错

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

作者头像
Python进阶者
发布2024-04-15 10:43:40
600
发布2024-04-15 10:43:40
举报

大家好,我是Python进阶者。

一、前言

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

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

二、实现过程

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

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

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

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

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

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

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

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

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

代码语言:javascript
复制
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数据处理的问题,文中针对该问题,给出了具体的解析和代码实现,帮助粉丝顺利解决了问题。

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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2024-04-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python爬虫与数据挖掘 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、前言
  • 二、实现过程
  • 三、总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档