Python 操做 excel

1、概述

操做 excel 是程序員常常要遇到的場景。由於產品、運營的數據都是以這種格式存儲。因此,當程序員拿到這些數據確定要解析,甚至須要把結果輸出成 excel 文件。python

下面就介紹若是用 Python 方面的讀、寫 excel 文件。程序員

2、openpyxl

A Python library to read/write Excel 2010 xlsx/xlsm filesapi

藉助 Python 的三方庫 openpyxl ,讓操做 excel 變得簡單。app

  1. 安裝:pip install openpyxl
  2. 文檔:官方文檔
  3. 示例代碼:
# 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 名稱
相關文章
相關標籤/搜索