1、基本概念

在openpyxl中,主要用到三个概念:Workbooks,Sheets,Cells。

Workbook就是一个excel工作表;

Sheet是工作表中的一张表页;

Cell就是简单的一个格。

openpyxl就是围绕着这三个概念进行的,不管读写都是“三板斧”:

打开Workbook,定位Sheet,操作Cell。

下面分读和写分别介绍几个常见的方法。

1.1 打开 Excel 表格并获取表格名称

from openpyxl import load_workbook

workbook = load_workbook(filename ="test.xlsx")

workbook.sheetnames

1.2 通过 sheet 名称获取表格

from openpyxl import load_workbook

workbook = load_workbook(filename ="test.xlsx")

workbook.sheetnames

sheet = workbook["Sheet1"]

print(sheet)

1.3 获取表格的尺寸大小 几行几列数据

sheet.dimensions

1.4 获取表格内某个格子的数据

workbook = load_workbook(filename ="test.xlsx")

sheet = workbook.active

print(sheet)

cell1 = sheet["A1"]

cell2 = sheet["C11"]

print(cell1.value, cell2.value)

workbook = load_workbook(filename ="test.xlsx")

sheet = workbook.active

print(sheet)

cell1 = sheet.cell(row = 1,column = 1)

cell2 = sheet.cell(row = 11,column = 3)

print(cell1.value, cell2.value)

1.5 获取某个格子的行数、列数、坐标

workbook = load_workbook(filename ="test.xlsx")

sheet = workbook.active

print(sheet)

cell1 = sheet["A1"]

cell2 = sheet["C11"]

print(cell1.value, cell1.row, cell1.column,cell1.coordinate)

print(cell2.value, cell2.row, cell2.column,cell2.coordinate)

1.6 获取一系列格子

workbook = load_workbook(filename ="test.xlsx")

sheet = workbook.active

print(sheet)

# 获取A1:C2区域的值

cell = sheet["A1:C2"]

print(cell)

for i in cell:

for j in i:

print(j.value)

sheet["A"] --- 获取A列的数据

sheet["A:C"] --- 获取A,B,C三列的数据

sheet[5] --- 只获取第5行的数据

1.7  按行获取值

for i in sheet.iter_rows(min_row=2,max_row=5, min_col=1, max_col=2):

for j in i:

print(j.value)

1.8 按列获取值

for i in sheet.iter_cols(min_row=2,max_row=5, min_col=1, max_col=2):

for j in i:

print(j.value)

1.9 向某个格子中写入内容并保存

workbook = load_workbook(filename ="test.xlsx")

sheet = workbook.active

print(sheet)

sheet["A1"] = "哈喽"

# 这句代码也可以改为cell =sheet["A1"]  cell.value ="哈喽"

workbook.save(filename = "哈喽.xlsx")

1.10 向表格中插入行数据

workbook = load_workbook(filename ="test.xlsx")

sheet = workbook.active

print(sheet)

data = [ ["唐僧","男","180cm"], ["孙悟空","男","188cm"], ["猪八戒","男","175cm"], ["沙僧","男","176cm"], ]

for row in data:

sheet.append(row)

workbook.save(filename ="test.xlsx")

1.11 在 python 中使用 excel 函数公式

workbook = load_workbook(filename ="test.xlsx")

sheet = workbook.active

print(sheet)

sheet["D1"] = "标准身高"

for i in range(2,16):

sheet["D{}".format(i)]=                       '=IF(RIGHT(C{},2)="cm",C{},SUBSTITUTE(C{},"m","")*100&"cm")'.format(i,i,i)

workbook.save(filename ="test.xlsx")

1.12 其他命令 

.insert_rowss() 和.insert_ cols():插入空行和空列

.delete_rows() 和.delete_ cols():删除行和列

.move_ range():移动格子

.create_ sheet():创建新的 sheet 表格

. remove():删除某个sheet 表

.copy_ worksheet():复制一个 sheet 表到另外一张 excel 表

sheet.title :修改sheet 表的名称

openpyxl 插入列_[Python]Excel编程(openpyxl)学习笔记相关推荐

  1. Python快速编程入门#学习笔记01# |第一章 :Python基础知识 (Python发展历程、常见的开发工具、import模块导入)

    全文目录 ==先导知识== 1 认识Python 1.1.1 Python的发展历程 1.1.2 Python语言的特点 2. Python解释器的安装与Python程序运行 1.2.1 安装Pyth ...

  2. Python快速编程入门#学习笔记03# |第二章 :Python基础(代码格式、标识符关键字、变量和数据类型、数字类型以及运算符)

    全文目录 ==先导知识== 学习目标: 2.1 代码格式 2.1.1 注释 2.1.2 缩进 2.1.3 语句换行 2.2 标识符和关键字 2.2.1 标识符 2.2.2 关键字 2.3 变量和数据类 ...

  3. 风变编程python第一关_风变编程【学习笔记】,第8关学习心得及代码扩展

    新手入门学习python   过程必定有很多疑惑和不理解的地方 我会慢慢更新前8关和后面课程的学习笔记及心得,争取用我自己踩过的雷和出现错误的地方,给大家提个醒 第8关,没有很多知识点,主要是告诉大家 ...

  4. Python快速编程入门#学习笔记02# |第十章 :Python计算生态与常用库(附.小猴子接香蕉、双人乒乓球小游戏源码)

    全文目录 学习目标 1. Python计算生态概述 1.1 Python计算生态概述 2. Python生态库的构建与发布 2.1 模块的构建与使用 * 2.1.1第三方库/模块导入的格式 2.2 包 ...

  5. python 谷歌地图api_《Python网络编程》学习笔记--使用谷歌地理编码API获取一个JSON文档...

    Foundations of Python Network Programing,Third Edition <python网络编程>,本书中的代码可在Github上搜索fopnp下载 本 ...

  6. python高级编程知识点_(转)python 高级编程技巧学习笔记

    转自https://www.jianshu.com/p/104cec085611,部分图出不来,mark一下,关键时候供查看. 第二章 数据结构相关话题 2.1.筛选数据 两种方式 filter函数: ...

  7. Python快速编程入门#学习笔记06# |第6章 :函数(学生管理系统)

    目录 1.1 函数概述 1.2 定义函数和调用 函数的定义 函数的调用 1.3 参数的传递 位置参数的传递 关键字参数的传递 默认(缺省)参数的传递 参数的打包与解包 混合传递 1.4 函数的返回值 ...

  8. 《Python 计算机视觉编程》学习笔记(七)

    文章目录 第 7 章 图像搜索 引言 7.1基于内容的图像检索 从文本挖掘中获取灵感--矢量空间模型 7.2 视觉单词 创建词汇 7.3 图像索引 建立数据库 7.4 在数据库中搜索图像 利用索引获取 ...

  9. Python快速编程入门#学习笔记08# |第8章 :面向对象

    目录 1. 面向对象概述 2. 类的定义 3.对象的创建与使用 类的成员 4.属性 1.类属性 2.实例属性 5.方法 1.实例方法 2.类方法 3.静态方法 6.私有成员 特殊方法 7.构造方法 8 ...

最新文章

  1. MotionEvent的getX(),getY()与getRawX(),getRawY()区别
  2. 经典模式流水灯实验的个人总结和思考
  3. (11/24) css进阶:Less文件的打包和分离
  4. Nginx:几种负载均衡调度策略配置
  5. python项目运行环境_python项目运行环境安装小结
  6. android 4.4 下拉菜单 透明,4.2状态栏,下拉,全局透明教程
  7. php des加密 和java胡同_PHP版本DES加密解(对应.net版与JAVA版)
  8. matlab disp函数_从零开始的matlab学习笔记——(13)符号计算中的多项式
  9. 概率论与数理统计 习题篇
  10. 如何防止别人QQ群话题发广告和批量QQ群发Q群话题
  11. 求助,nodejs 在安装threads_a_gogo时报错
  12. 冉宝的每日一题--8月13日
  13. 1M宽带50M宽带100M宽带最大下载速度
  14. 三星i917官方wp7.8刷机、越狱、防锁全过程
  15. unlink php 实例,PHP unlink()用法及代碼示例
  16. Linux系统文件加密与解密应用
  17. Pygame实战:我妈50岁,戒不掉消消乐!看我给您安排一款百变款消消乐!厉害!
  18. 该如何在中国手机市场生存
  19. HC32L130单片机入坑记
  20. 【最全】Google Chrome20-83各版本下载链接整理

热门文章

  1. 直播马上开始|不要怂,一起上!关于黑客攻防,我们有话要说
  2. 游戏AI探索之旅:从AlphaGo到MOBA游戏
  3. undefined reference to `boost::system::generic_category()
  4. 每日两SQL(2),欢迎交流~
  5. Spark _25.plus _使用idea读取Hive中的数据加载成DataFrame/DataSet(四)
  6. leetcode 1338. Reduce Array Size to The Half | 1338. 数组大小减半(Java)
  7. 【Spring】Spring第三天 - 声明式事务、常用注解、Ajax 复习
  8. 【Java注解】自定义注解、与数据库结合使用
  9. 容器学习 之 镜像的分层结构(六)
  10. 多线程基础-常用线程方法(三)