1. 程式人生 > 實用技巧 >Python openpyxl 讀excel xlsx檔案

Python openpyxl 讀excel xlsx檔案

示例

# excel庫
import openpyxl
# python GUI庫
import tkinter.filedialog as filedialog


def parseXLSX(filename, sheetNum=1):
    """
    解析excel檔案, 並返回列表
    param: filename 檔名, sheetNum sheet頁序號
    return:[{title:value},{title:value}]
    """
    rslt = []
    try:
        # 通過 openpyxl 載入
        wb = openpyxl.load_workbook(filename)
        # 獲取sheet頁物件 編號從0開始
        sheet = wb._sheets[sheetNum-1]
        print(sheet.max_row, sheet.max_column)

        title = []
        # 獲取列標題
        for y in range(0, sheet.max_column):
            colname = str(sheet[1][y].value)
            title.append(colname)
        # print(title)
        # 遍歷
        for row in sheet.rows:
            i = 0
            tmp = {}
            for cell in row:
                tmp[title[i]] = cell.value
                i = i+1
            rslt.append(tmp)
    except Exception as e:
        print(e)
    return rslt


if __name__ == "__main__":
    # 手動選擇檔案, 獲取檔名
    vfilename = filedialog.askopenfilename(initialdir="d:\\")
    # print(vfilename)
    data = parseXLSX(vfilename)
    print(data)