python使用openpyxl操作excel总结
安装openpyxl
pip install openpyxl
简单示例
from openpyxl import Workbook#创建一个工作薄对象,也就是创建一个excel文档 wb = Workbook()#指定当前显示(活动)的sheet对象 ws = wb.active# 给A1单元格赋值 ws['A1'] = 42# 一行添加多列数据 ws.append([1, 2, 3])# 保存excel wb.save("sample.xlsx")
使用openpyxl的一般流程为:创建/读取excel文件-->选择sheet对象-->对表单/cell进行操作-->保存excel
1.创建/读取excel文件
创建excel
from openpyxl import Workbook wb = Workbook()
读取excel
from openpyxl import load_workbook wb = load_workbook('1.xlsx')
保存excel
wb.save('filename.xlsx')
2.sheet表单操作
获取sheet
#以list方式返回excel文件所有sheet名称(->list[str,str..])wb.sheetnames wb.get_sheet_names()
选择sheet对象
#根据sheet名称选取 ws = wb['sheet1'] ws = wb.get_sheet_by_name('sheet1') #选择当前显示,活动的sheet ws = wb.active ws = wb.get_active_sheet()
创建新的sheet
#默认插入到最后 ws = wb.create_sheet("newsheet") #插入到最开始的位置(从0开始计算) ws = wb.create_sheet("newsheet", 0)
复制一个sheet对象
source = wb.active target = wb.copy_worksheet(source)
sheet常见属性
#sheet名称 sheet.title #最大行和最大列 sheet.max_row sheet.max_column #行列生成器 sheet.rows #为行生成器, 里面是每一行的cell对象,由一个tuple包裹。 sheet.columns #为列生成器, 里面是每一列的cell对象,由一个tuple包裹。 可以使用list(sheet.rows)[0].value 类似方法来获取数据,或 for row in sheet.rows:for cell in row:print(cell.value) 来遍历值,或值生成器 sheet.values 仅遍历值
删除sheet
wb.remove(sheetobject) del wb['sheet'] #sheetname
sheet的其它操作
#插入行,在第7行之前插入 ws.insert_rows(7) #插入列,在第7列之前插入 ws.insert_cols(7) #删除行列 ws.delete_rows(7) ws.delete_cols(7) #可以删除多个 ws.delete_cols(6, 3)
3.单元格对象
选择cell单元格对象
#根据名称访问 a1 = ws['A1'] #A列1行的单元对象 a2 = ws['a2'] #也可以小写 #cell方法访问 b2 = ws.cell(row=2, column=2) b3 = ws.cell(3,2) #从cell列表中返回 b3 = list(ws.rows)[2][1] b3 = list(ws.columns)[1][2]
选择多个单元格
#切片访问 a2_b3 = ws['a2':'b3'] 以行组成tuple返回tuple ((<Cell 'Sheet1'.A2>, <Cell 'Sheet1'.B2>), (<Cell 'Sheet1'.A3>, <Cell 'Sheet1'.B3>)) #单独字母与数字返回列与行的所有数据 b = ws['b'] #返回b列的所有cell对象 row1 = ws['1'] #返回第1行的所有cell #当然也能范围选择 a_e = ws['a:e'] #a-e列的cell对象
单元格属性
#返回列 cell.column #返回行 cell.row #返回值 cell.value 注意:如果单元格是使用的公式,则值是公式而不是计算后的值 #返回单元格格式属性 cell.number_format 默认为General格式 #单元格样式 cell.font
更改单元格值
#直接赋值 ws['a2'] = 222 ws['a2'] = 'aaa' ws['b2'] = '=SUM(A1:A17)' #使用公式#value属性赋值 cell.value = 222 或 ws.cell(1,2,value = 222)
移动单元格
ws.move_range("D4:F10", rows=-1, cols=2) 表示单元格D4:F10向上移动一行,右移两列。单元格将覆盖任何现有单元格。(最新版本的才会这个方法,使用pip list查看版本是否为最新) ws.move_range("G4:H10", rows=1, cols=1, translate=True) 移动中包含公式的自动转换
合并与拆分单元格
#合并单元格,以最左上角写入数据或读取数据 ws.merge_cells('A2:D2') #拆分单元格 ws.unmerge_cells('A2:D2')
4.格式样式设置
导入类
from openpyxl.styles import Font, colors, Alignment
Font类常见参数
font = Font(name='Calibri', #字体名字size=11, #字体大小bold=False, #是否加粗italic=False, #斜体underline='none', #下划线color='FF000000') #颜色,可以用colors中的颜色
设置字体
t_font = Font(name='Calibri', size=24, italic=True, color=colors.RED, bold=True) #给font属性赋值font对象即可 sheet['A1'].font = t_font
对齐方式
# 设置B1中的数据垂直居中和水平居中,除了center,还可以使用right、left
等等参数
sheet['B1'].alignment = Alignment(horizontal='center', vertical='center')
设置单元格长宽
# 第2行行高 sheet.row_dimensions[2].height = 40 # C列列宽 sheet.column_dimensions['C'].width = 30
官方文档参考:https://openpyxl.readthedocs.io/en/latest/
转载于:https://www.cnblogs.com/fengf233/p/10880782.html
python使用openpyxl操作excel总结相关推荐
- 【Python基础】python使用openpyxl操作excel
1.openpyxl库介绍 openpyxl最好用的python操作excel表格库,不接受反驳: openpyxl官网链接:openpyxl官网 openpyxl只支持[.xlsx / .xlsm ...
- python使用openpyxl操作excel
目录 1 Excel表格 1.1 表格述语 1.2 表格示例 2 python打开及读取表格内容 2.1打开Excel表格并获取表格名称 2.2 通过sheet名称获取表格 2.3 获取表格的尺寸大小 ...
- 用python与openpyxl操作excel(wps excel与office excel均可使用)
介绍一个强大的库openpyxl这个库非常易于使用,不论是wps的excel还是office的wps都可以使用,下面来介绍一下基本操作 1.从已经存在的excel中读取数据 #filename为要读取 ...
- python openpyxl 操作excel xlrd.biffh.XLRDError: Excel xlsx file; not supported错误修改
python xlrd/openpyxl 操作excel xlrd.biffh.XLRDError: Excel xlsx file; not supported错误修改 代码: 错误: excel读 ...
- python openpyxl 操作excel ,使用 conditional_formatting,insert_rows
场景 python 使用 openpyxl 操作 excel 对于简单的格式来说还是挺方便的,但是对于复杂的格式,操作没有手动来的简单,如果对于复杂的格式也不是用python来做的.对于一个原有的报表 ...
- 包无法安装_详细教程 | 安装Python编程环境以及使用OpenpyXl操作Excel
详细教程 | 安装Python编程环境以及使用OpenpyXl操作Excel 注意:下列教程为 Windows7 64位:Windows 10有部分步骤有差异,请参考使用! 01 下载Python程序 ...
- Python办公自动化之 openpyxl 操作 Excel
今天给大家分享一篇用 openpyxl 操作 Excel 的 Python 办公自动化文章.5分钟就能掌握- 各种数据需要导入Excel?多个Excel要合并?目前,Python处理Excel文件有很 ...
- Python读取和操作Excel(.xlsx)文件
Python读取和操作Excel(.xlsx)文件 使用openpyxl库来控制excel文件(即.xlsx为后缀的文件).这里介绍一下excel数据的结构. 打开excel文件后生成一个workbo ...
- python使用openpyxl处理excel表格数据
python使用openpyxl处理excel表格数据 前言 一.安装openpyxl包 二.读取excel数据 1. 获取excel表格的页码 2. 获取excel表格某一行的数据 3. 获取exc ...
最新文章
- Linux内核调试方法总结之sysrq
- Android开发(五)——计时器
- pageContext对象和config对象
- 【Java深入理解】String str = “a“ + “b“ + “c“到底创建了几个对象?
- 安杰文高等计算机与生产技术学校,法国留学院校推荐:安杰文高等计算机与生产技术学校...
- IDEA把console的输出写入到文件中
- [转载] 利用Python构建股票交易策略 !
- mfc三视图和斜等测图实现_编程实现TCP协议数据传输
- Mac隐藏技巧:右键点按,在访达中玩出点新花样
- leftjoin多表联合查询_图解面试题:多表如何查询?
- 论文阅读:Audio-Driven Emotional Video Portraits
- 存储系统概述——SRAM静态随机存储器
- 添加个人博客音乐外链
- 青少年编程scratch一级-熟悉编程软件(答案及详解+线上题库答题)
- App Inventor学习环境搭建
- GIS应用技巧之矢量数据编辑
- WZOI-216猴子吃桃
- 【小程序云开发】不用后端也能构建完整的微信小程序
- LeetCode——11. 盛最多水的容器
- Windows下Qt使用htons,htonl,ntohs,ntohl
热门文章
- 安装好Pycharm后如何配置Python解释器简易教程(configure python interpreter)
- PaddlePaddle训练营——公开课——AI核心技术掌握——第1章迈入现代人工智能的大门——Modern AI骨架脉络
- ubuntu下安装并配置VIM编辑器
- 【嵌入式】嵌入式天地博客汇总
- 【Qt】数据库用户接口层
- 【Linux】一步一步学Linux——cd命令(20)
- 【Linux系统编程】进程间通信--无名管道(pipe)
- pdfminer3k 官方文档_IPFS官方周报112期
- python中用来回溯异常的模块_python学习笔记(异常)
- Qt5.0中lineEdit的输入输出