读取设置密码保护的excel文件,有没有更好的办法?

Python进阶者
• 阅读 280

大家好,我是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 可以试试这个库

乍一看,好像和粉丝的代码差不多,其实不同,这里【巭孬🕷】指出粉丝的代码是生成新文件再读取,瑜亮老师的是直接从内存里面读取,不用生成新文件。

读取设置密码保护的excel文件,有没有更好的办法?

顺利地解决了粉丝的问题。

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

三、总结

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

最后感谢粉丝【wen】提出的问题,感谢【隔壁😼山楂】、【瑜亮老师】、【巭孬🕷】给出的思路,感谢【莫生气】等人参与学习交流。

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

读取设置密码保护的excel文件,有没有更好的办法?

点赞
收藏
评论区
推荐文章
Python进阶者 Python进阶者
2年前
open中的readline()如何逐行读取啊?
大家好,我是皮皮。一、前言前几天在Python最强王者交流群【༺ཉི།།与歌同行ཉྀ༻】问了一个Python文件读取的问题,提问截图如下:!(https://uploadimages.jianshu.io/upload_image
Python进阶者 Python进阶者
1年前
pandas读取一个文件夹下所有excel表格中的第三个sheet,怎么破?
大家好,我是皮皮。一、前言前几天在Python最强王者交流群【wen】问了一个Python自动化办公的问题,一起来看看吧。请教,pandas读取一个文件夹下所有excel表格中的第三个sheet,但是不同的excel的第三个sheetname也不同,怎么设
Python进阶者 Python进阶者
1年前
Pandas怎样设置处理后的第一行为索引?
大家好,我是皮皮。一、前言前几天在Python最强王者交流群【wen】问了一个Pandas自动化办公的问题,一起来看看吧。请教问题设置了headerNone,通过dropduplicates删除了重复行,怎样设置处理后的第一行为索引(原表格的列比较多,而且
Python进阶者 Python进阶者
1年前
读取xlsm格式的文件,该表格只有一个,但是通过python读取,却显示两个表格?
大家好,我是皮皮。一、前言前几天在最强王者交流群【wen】问了一个Python处理Excel文件相关的问题,一起来看看吧。请教问题:读取xlsm格式的文件,该表格只有一个名字为"销售明细(2)"的表格,但是通过python读取该文件,却显示两个表格,分别为
Python进阶者 Python进阶者
7个月前
python读取一个文件里面几百个csv数据集然后按照列名合并一个数据集
大家好,我是Python进阶者。一、前言前几天在Python最强王者交流群【FiNε】问了一个Python自动化办公,问题如下:python读取一个文件里面几百个csv数据集然后按照列名合并一个数据集。二、实现过程这里【隔壁😼山楂】给了一个解答,如下图所
Python进阶者 Python进阶者
7个月前
有遇到过吗?同样的规则 Excel 中 比Python 结果大
大家好,我是Python进阶者。一、前言前几天在Python白银交流群【JethroShen】问了一个Python处理Excel数据读取的问题。问题如下:有遇到过吗?同样的规则Excel中比Python结果大?二、实现过程这里【瑜亮老师】和【论草莓如何成为
Python进阶者 Python进阶者
4个月前
excel实现对同一个工作簿下不同工作表分别加密,这种能实现吗?
大家好,我是Python进阶者。一、前言前几天在Python最强王者交流群【哎呦喂是豆子~】问了一个Python自动化办公的问题,问题如下:大佬们请问下这种能实现吗?excel实现对同一个工作簿下不同工作表分别加密。二、实现过程这里【瑜亮老师】给了一个思路
Python进阶者 Python进阶者
4个月前
请问如何将带有斜纹水印pdf的转成Excel呢?
大家好,我是Python进阶者。一、前言前几天在Python最强王者交流群【wen】问了一个Python自动化办公的问题,问题如下:请问如何将带有斜纹水印pdf的转成Excel呢?目前我把pdf转成图片,根据水印的颜色进行清除,但是在脱网环境下无法将图片转
Python进阶者 Python进阶者
3个月前
字符串包含了不需要的双引号,导致读取成json文件失败?Python怎么批量修改?
大家好,我是Python进阶者。一、前言前几天在Python最强王者交流群【哎呦喂是豆子~】问了一个Python数据处理的问题。问题如下:大佬们请教下这个问题,数据为下载的html文件,写法已经固定,解析成json文件会报错,这种字符串包含了不需要的双引号
Python进阶者 Python进阶者
2个月前
python打包的exe文件为什么有时候运行很慢有时候很快?
大家好,我是Python进阶者。一、前言前几天在Python最强王者交流群【哎呦喂是豆子~】问了一个Python打包处理的问题。问题如下:大佬们请问下你们有没有遇到这种情况python打包的exe文件为什么有时候运行很慢有时候很快?同一个exe文件有时候等