Python读取带密码的excel文件

文摘   2024-10-13 21:47   湖北  

最近接触到的一个项目要需要读入带密码的excel文件,在网上找了很多方法,有一些方法是错误的,还有些方法比较繁琐。我在本文使用pandas来读取带密码的excel文件。pandas读取带密码的Excel文件,需要借助其他的库,因为pandas本身不支持读取加密的Excel文件。

直接读取带密码的文件(会报错)

现在一个加密文档,密码是123456


import pandas as pd
df1=pd.read_excel('测试加密文档.xlsx')
df1


pandas是无法读取这个加密的excel文件的,需要使用其他库来协助完成读取带密码的excel数据。

使用msoffcrypto来协助读取带密码的excel文件

msoffcrypto

msoffcrypto是一个开源的Python工具,专门用于解密Microsoft Office文档(如 .docx, .xlsx, .pptx 等)中的加密内容。

msoffcrypto安装

pip install msoffcrypto-tool

读取带密码的excel数据

import io
import pandas as pd
import msoffcrypto
passwd = '123456'
decrypted_workbook = io.BytesIO()
with open('测试加密文档.xlsx''rb'as file:
    office_file = msoffcrypto.OfficeFile(file)
    office_file.load_key(password=passwd)
    office_file.decrypt(decrypted_workbook)
df = pd.read_excel(decrypted_workbook, sheet_name='文档1')


如果大家还想进一步了解,尝试更多的方法,可以参考以下链接:https://stackoverflow.com/questions/15285068/from-password-protected-excel-file-to-pandas-dataframe


Python学习杂记
数据分析与挖掘、运筹优化、机器学习、AI 、数据可视化等。
 最新文章