首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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

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

大家好,我是Python进阶者。

一、前言

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

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

二、实现过程

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

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

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

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

你点开是需要输密码吗,就是这个文件是加密状态的。如果是加密的,目前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打不开提示无效或损坏  别人发我的可以打开。

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

  • 发表于:
  • 原文链接https://page.om.qq.com/page/Okh2L900hMGLMQtnUeVR9dvg0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券