Python 操作 excel
阿新 • • 發佈:2018-12-24
一、概述
操作 excel 是程式設計師經常要遇到的場景。因為產品、運營的資料都是以這種格式儲存。所以,當程式設計師拿到這些資料肯定要解析,甚至需要把結果輸出成 excel 檔案。
下面就介紹如果用 Python 方面的讀、寫 excel 檔案。
二、openpyxl
A Python library to read/write Excel 2010 xlsx/xlsm files
藉助 Python 的三方庫 openpyxl
,讓操作 excel 變得簡單。
- 安裝:
pip install openpyxl
- 文件:官方文件
- 示例程式碼:
# coding=utf-8 from openpyxl import Workbook wb = Workbook() # 選擇 sheet ws = wb.active # 設定值到某一個單元格(cells) ws['A1'] = 42 # Python 的資料型別可以自動轉換 import datetime ws['A2'] = datetime.datetime.now() # 儲存檔案 wb.save("sample.xlsx") # 預設儲存到當前目錄下。檔名稱為 sample.xlsx
讀資料
from openpyxl import load_workbook
wb = load_workbook('sample.xlsx') # 讀取檔案
sheet = wb.get_sheet_by_name("Sheet") # 根據 sheet 名稱獲取,返回 Worksheet 物件
columns = sheet['A'] # 選擇一列
for fi_column in columns:
# 遍歷這列的所有行
print fi_column.value # 每一個fi_column是 Cell 物件
寫資料
from openpyxl import Workbook wb = Workbook() # 選擇 sheet ws = wb.create_sheet() # result_list ->[[第一行資料], [第二行資料], ...] for fi_result in result_list: ws.append(fi_result) # 每行的資料 # 儲存檔案 wb.save("test.xlsx")
更多 API
- Worksheet.columns():獲取 sheet 所有列
- Worksheet.iter_cols():通過列截斷
- Worksheet.rows():獲取 sheet 所有行
- Worksheet.iter_rows():通過行截斷
- Worksheet.cell():操作單元格
- Workbook.save():儲存檔案
- workbook.Workbook.create_sheet():建立新的 sheet
- Workbook.sheetnames():獲取 sheet 名稱