Python

前言

作为一名资深程序员,通过代码熟练操作Excel是必不可少的技能,本章主要讲解Python通过openpyxl第三方库(官方文件说明)对Excel进行操作,使Excel程序化操作更为简单快捷。


openpyxl

1:安装

Win+R调出cmd.exe,输入 pip install openpyxl 等待程序安装完成,如下图:

 2:实例代码 - 小试牛刀

# 从workbook导入openpyxl
from openpyxl import Workbook
# 导入时间库
import datetime
# 创建一个Excel文件
wb = Workbook()
# 选择 sheet
ws = wb.active
# 设置值到某一个单元格(cells)
ws['A1'] = "Jeremy1"
ws['B1'] = 23
ws['B2'] = "男"
ws['B3'] = "1111999000"

ws['A2'] = datetime.datetime.now()

# 存储文件
# 默认保存到当前目录下
wb.save("pyExcelTest.xlsx")

执行完成后,在工程目录下找到pyExcelTest.xlsx文件,并打开:

读数据

 1 # 导入openpyxl
 2 from openpyxl import load_workbook
 3 # 读取文件
 4 wb = load_workbook('pyExcelTest.xlsx')
 5 # 根据 sheet 名称获取,返回 Worksheet 对象
 6 sheet = wb.get_sheet_by_name("Sheet")
 7 # 选择一列
 8 columns = sheet['B']
 9 # 遍历这列的所有行,每个columCell都是一个Cell对象
10 for columCell in columns:
11     print(columCell.value)

写数据

1 from openpyxl import Workbook
2 wb = Workbook()
3 # 指定当前显示(活动)的sheet对象
4 ws = wb.active
5 # 一行添加多列数据
6 for rows in [(1, 2, 3)]:
7     ws.append(rows)
8 # 存储文件
9 wb.save("pyExcelTest.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 名称
原文地址:https://www.cnblogs.com/jeremywucnblog/p/11796732.html