當前位置: 妍妍網 > 碼農

我用Python操作Excel的兩種主要工具

2024-03-30碼農

Python操作Excel分為兩個主要形式,讀寫和互動式操作,可以用不同的第三方工具。

首先對於單純地讀寫Excel,這種場景使用Pandas就足夠了。

使用Pandas中的read_excel、to_excel函式,在Excel和DataFrame格式間進行轉換。

import pandas as pd
# 讀取excel檔,Excel->DataFrame
df = pd.read_excel('example.xlsx')
# 匯出excel檔,DataFrame->Excel
df.to_excel('example.xlsx')

其他的諸如xlrd、xlwt功能單一,也沒有Pandas好用。

Pandas針對excel設定了豐富的參數選項,將近30個,基本可以滿足你大部份讀寫需求。

pandas.read_excel(io,sheet_name=0,*,header=0,names=None,index_col=None,usecols=None,dtype=None)

  • io:string型別檔的路徑或url

  • sheet_name=0:指定的excel中的具體某個或某些表的表名或表索引

  • header=0:以哪些行作為表頭,也叫做列名

  • names=None:自己定義一個表頭(列名)

  • index_col=None:將哪些列設為索引.

  • usecols=None:指定讀取excel中哪些列的數據,預設為None,表示讀取全部

  • squeeze=False:預設為False,如果解析的數據只包含一列,則返回一個Series

  • dtype=None:接收dict,設定數據型別,具體到每列

  • 其他不常用的就不一一列舉

    附 pandas學習文件:https://pandas.pydata.org/docs/

    其次是針對Excel檔本身的互動操作,比如修改格式、制作圖表、透視表、宏等,這種操作需要用到專門的Excel處理庫,像xlwings、openpyxl等。

    這裏重點講講xlwings,xlwings是比較專業全面的Excel操作庫,可以使用Python自動化操作Excel中的任何功能,比如視覺化、格式處理、數據透視等。

    xlwings很好的將Python中的Pandas、Numpy、matplotlib與Excel進行互動,例如數據格式轉換等。

    # 將matplotlib影像貼入Excel中
    import matplotlib.pyplot as plt
    import xlwings as xw
    fig = plt.figure()
    plt.plot([123])
    sheet = xw.Book().sheets[0]
    sheet.pictures.add(fig, name='MyPlot', update=True)

    xlwing還有excel外掛程式,可以支持在excel中編寫python程式碼,執行自動化任務。

    附 xlwings學習文件:https://docs.xlwings.org/zh-cn/latest/quickstart.html

    我之前發過一些Python操作excel的教程,包括了pandas、xlwings等庫的詳細使用方法和案例,供大家參考。



    加入知識星球 【我們談論數據科學】

    600+ 小夥伴一起學習!