欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python openpyxl提取Excel圖片實(shí)現(xiàn)原理技巧

 更新時(shí)間:2024年01月19日 10:21:25   作者:數(shù)據(jù)小鄭  
在這篇文章中,將介紹如何使用openpyxl來提取Excel中的圖片,以及它的原理和技巧,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

如何使用openpyxl來提取Excel中的圖片

你是否遇到過這樣的情況:有一個(gè)Excel文件,里面包含了一些圖片,你想要把這些圖片提取出來,保存到你的電腦上,或者用于其他的用途。但是,你發(fā)現(xiàn)Excel并沒有提供一個(gè)方便的方法,一鍵導(dǎo)出所有的圖片。只能一個(gè)一個(gè)地復(fù)制粘貼,或者右鍵另存為,這樣既費(fèi)時(shí)又費(fèi)力。

有沒有什么更好的辦法呢?答案是肯定的。

在這篇文章中,將介紹如何使用openpyxl來提取Excel中的圖片,以及它的原理和技巧。

openpyxl是什么,能做什么

openpyxl是一個(gè)Python庫,可以讀寫Excel 2010 xlsx/xlsm/xltx/xltm文件。它可以操作Excel中的單元格、行、列、工作表和公式,但是它不能直接處理圖片。要提取Excel中的圖片,我們需要了解一些Excel文件的結(jié)構(gòu)和原理。

Excel文件的結(jié)構(gòu)和原理

Excel文件實(shí)際上是一個(gè)zip壓縮包,里面包含了Excel文件的所有內(nèi)容,包括圖片??梢杂靡粋€(gè)解壓縮軟件,比如WinRAR或7-Zip,來打開一個(gè)Excel文件,看看它里面有什么。你會(huì)發(fā)現(xiàn),它里面有一個(gè)文件夾叫做xl,這個(gè)文件夾里面存放了Excel文件的核心數(shù)據(jù)。其中,有一個(gè)子文件夾叫做media,這個(gè)文件夾里面存放了Excel文件中的所有圖片。圖片的文件名通常是image1.png, image2.jpg, image3.gif等等,按照它們?cè)贓xcel文件中出現(xiàn)的順序排列。

openpyxl的工作原理

openpyxl可以用Python的zipfile模塊來打開和操作Excel文件中的zip壓縮包。它提供了一個(gè)load_workbook函數(shù),可以用來打開一個(gè)Excel文件,并返回一個(gè)Workbook、對(duì)象。這個(gè)對(duì)象有一個(gè)屬性叫做_archive,它是一個(gè)ZipFile對(duì)象,可以用來訪問Excel文件中的zip壓縮包。通過這個(gè)屬性,我們就可以找到Excel文件中的media文件夾,以及里面的圖片文件。

如何使用openpyxl提取Excel中的圖片

現(xiàn)在,我們已經(jīng)知道了提取Excel中圖片的原理,接下來,如何用代碼來實(shí)現(xiàn)它。目標(biāo)是,給定一個(gè)Excel文件的路徑,要把它里面的所有圖片提取出來,并保存到指定的位置??梢苑譃橐韵聨讉€(gè)步驟:

導(dǎo)入openpyxl和zipfile模塊

打開Excel文件,獲取Workbook對(duì)象和ZipFile對(duì)象

創(chuàng)建一個(gè)目標(biāo)文件夾,用來存放圖片

遍歷zip壓縮包中的所有文件,找到圖片文件

打開圖片文件,讀取圖片數(shù)據(jù),保存到目標(biāo)文件夾中

關(guān)閉Excel文件和圖片文件

下面是一個(gè)示例代碼,可以提取Excel文件中的所有圖片,并將它們保存到當(dāng)前目錄下的images文件夾中。

import openpyxl
import zipfile
wb = openpyxl.load_workbook("example.xlsx")
archive = wb._archive
import os
if not os.path.exists("images"):
    os.mkdir("images")
for filename in archive.namelist():
    if filename.startswith("xl/media"):
        image_name = os.path.basename(filename)
        image_file = archive.open(filename)
        with open(os.path.join("images", image_name), "wb") as f:
            f.write(image_file.read())
        image_file.close()
wb.close()

以上就是python openpyxl提取Excel圖片實(shí)現(xiàn)原理技巧的詳細(xì)內(nèi)容,更多關(guān)于python openpyxl提取Excel圖片的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • python 自定義裝飾器實(shí)例詳解

    python 自定義裝飾器實(shí)例詳解

    這篇文章主要介紹了python 自定義裝飾器,結(jié)合實(shí)例形式分析了Python自定義裝飾器的功能、原理、用法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2019-07-07
  • python運(yùn)行加速的幾種方式

    python運(yùn)行加速的幾種方式

    Python運(yùn)行的慢是歷來被詬病的,本文就來介紹一下python運(yùn)行加速的幾種方式,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • python實(shí)現(xiàn)梯度下降算法的實(shí)例詳解

    python實(shí)現(xiàn)梯度下降算法的實(shí)例詳解

    在本篇文章里小編給大家整理的是一篇關(guān)于python實(shí)現(xiàn)梯度下降算法的實(shí)例詳解內(nèi)容,需要的朋友們可以參考下。
    2020-08-08
  • python 畫條形圖(柱狀圖)實(shí)例

    python 畫條形圖(柱狀圖)實(shí)例

    這篇文章主要介紹了python 畫條形圖(柱狀圖)實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • python利用 keyboard 庫記錄鍵盤事件

    python利用 keyboard 庫記錄鍵盤事件

    這篇文章主要介紹了python利用 keyboard 庫記錄鍵盤事件,幫助大家更好的利用python進(jìn)行辦公,感興趣的朋友可以了解下
    2020-10-10
  • Django 配置多站點(diǎn)多域名的實(shí)現(xiàn)步驟

    Django 配置多站點(diǎn)多域名的實(shí)現(xiàn)步驟

    這篇文章主要介紹了Django 配置多站點(diǎn)多域名的實(shí)現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • 跟老齊學(xué)Python之再深點(diǎn),更懂list

    跟老齊學(xué)Python之再深點(diǎn),更懂list

    對(duì)于list,由于她的確非常非常龐雜,在python中應(yīng)用非常廣泛,所以,雖然已經(jīng)介紹完畢了基礎(chǔ)內(nèi)容,這里還要用一講深入一點(diǎn)點(diǎn),往往越深入越...
    2014-09-09
  • Python 操作 MySQL數(shù)據(jù)庫

    Python 操作 MySQL數(shù)據(jù)庫

    這篇文章主要介紹了Python 如何操作 MySQL,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-09-09
  • Python中raise用法簡單實(shí)例(超級(jí)詳細(xì),看了無師自通)

    Python中raise用法簡單實(shí)例(超級(jí)詳細(xì),看了無師自通)

    python中raise語句用于手動(dòng)觸發(fā)異常,通過raise語句可以在代碼中顯式地引發(fā)異常,從而使程序進(jìn)入異常處理流程,下面這篇文章主要給大家介紹了關(guān)于Python中raise用法的相關(guān)資料,需要的朋友可以參考下
    2024-03-03
  • python實(shí)現(xiàn)微信小程序的多種支付方式

    python實(shí)現(xiàn)微信小程序的多種支付方式

    這篇文章主要為大家介紹了python實(shí)現(xiàn)微信小程序的多種支付方式的實(shí)現(xiàn)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪
    2022-04-04

最新評(píng)論