赞
踩
小编推荐
作者详细盘点了 Python 操作 Excel 神器 openpyxl 的各种操作。以图表/代码的形式讲解如何对 Excel 进行读取、写入及样式调整,可以当成速查手册使用,随用随查,建议收藏!
要点概览:
安装 openpyxl
Excel 读取
Excel 写入
样式调整
原创:陈熹 责编:陶佳元
openpyxl
是一个非标准库,因此需要自行安装,安装过程并不困难,Windows/Mac用户均可以在命令行(CMD)/终端(Terminal)中使用pip安装
pip install openpyxl
在使用这个模块之前我们需要对Excel表格结构有个比较细致的了解,见下图:简而言之,一个Excel工作簿workbook
由一个或者多个工作表sheet
组成,一个sheet可以看作是多个行row
组成,也可以看作是多个列column
组成,而每一行每一列都由多个单元格cell
组成!
from openpyxl import load_workbookworkbook = load_workbook(filename='测试.xlsx’) print(workbook.sheetnames)
注意load_workbook
只能打开已经存在的Excel,不能创建新的工作簿
from openpyxl import load_workbookworkbook = load_workbook(filename='其他.xlsx') print(workbook.sheetnames)sheet = workbook['工作业务']
如果只有一张工作表也可以用:
sheet = workbook.active
print(sheet.dimensions)
这边提供两种方法,注意都需要以cell.value
形式输出具体值
print(cell.row, cell.column, cell.coordinate)
这里也有一个细节,Excel中每一列由字母确定,是字符型;每一行由一个数字确定,是整型。当然,上面的三种方法都是获取一堆表格,现在要输出每一个表格的值就需要遍历:
for cell in cells: print(cell.value)
三种方法依然有自己的局限性,如果我需要特定范围的值,且懒得换算成字母数字坐标。例如我想要获取第2行至第5行、第1列至第3列的全部单元格。因此必须掌握第4种方法:
for row in sheet.rows: print(row)
workbook.save(filename='Excel工作表1.xlsx')
cell = sheet['A1'] cell.value = '业务需求
sheet['K11'] = '=AVERAGE(K1:K10)'
from openpyxl import Workbookworkbook = Workbook()
distributed, justify, center, left, fill, centerContinuous, right, general
bottom, distributed, justify, center, top
double, mediumDashDotDot, slantDashDot, dashDotDot, dotted, hair, mediumDashed, dashed, dashDot, thin, mediumDashDot, medium, thick
sheet.row_dimensions[1].height = 50 sheet.column_dimensions['C'].width = 20
# 合并sheet.merge_cells('A1:B2') sheet.merge_cells(start_row=1, start_column=3, end_row=2, end_column=4)# 取消合并sheet.unmerge_cells('A1:B2') sheet.unmerge_cells(start_row=1, start_column=3, end_row=2, end_column=4)
关于我们
「PyChina」是 PyChina.org 的官方微信公众号(ID:PyChinaOrg),创立于 2014 年,目前由 PyChina 主理。所有和 PyChina、PyCon China 大会相关的动态都会第一时间在这里发布,除此之外,你还可以在这里看到 Python 相关的技术分享和最新资讯,欢迎关注!
欢迎关注 PyChina 官方账号️
官网:https://pychina.org
公众号(@PyChinaOrg)
阅读推荐
好文推荐 | 如何用 Kubernetes 搞定 CICD
【PyCon China 2020 正式启动】与您相约十周年!
【志愿者招募】PyCon China 邀你牵手十周年!
技术经验 | 突破 DockerHub 限制 全镜像加速服务
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。