1. 安装openpyxl

python 中与excel操作相关的模块:

  • xlrd库:从excel中读取数据,支持xls、xlsx
  • xlwt库:对excel进行修改操作,不支持xlsx格式的修改
  • xlutils库:在xlw和xlrd中,对一个已存在的文件进行修改
  • openpyxl库:主要针对xlsx格式的excel进行读取和编辑

2. Excel 中的三大对象

  • WorkBook:工作对象
  • Sheet:表单对象
  • Cell:表格对象

3. openpyxl 对 Excel的操作

  • 创建一个工作簿: wb = openpyxl.Workbook()
  • 新增一个sheet表单:wb.create_sheet(‘sheet2’)
  • 保存 demo.xlsx文件:wb.save(‘demo.xlsx’)
  • 打开工作簿:wb = openpyxl.load_workbook(‘demo.xlsx’)
  • 选取表单:sh = wb[‘sheet2’]
  • 读取第一行、第一列的数据:ce = sh.cell(‘row=1, column=1’)
  • 按行读取数据:row_data = list(sh.rows)
  • 按列读取数据:columns_data = list(sh.clumns)
  • 关闭工作簿:wb.close()
写入数据

写入数据之前,该文件一定要处于关闭状态

  • 写入第一行、第二列数据:
value = 'reslut':sh.cell(row=1,column=2,value='result')
  • 获取做大行总数、最大列总数:sh.max_row、sh.max_column
  • del 删除表单的用法:del wb[‘sheet_name’]
  • remove 删除表单的用法:
sh = wb['sheet_name']
wb.remove(sh)

4. excel数据

5. 操作案例

5.1 创建excel

import openpyxl# 创建一个工作簿 实例化
wb = openpyxl.Workbook()# 创建一个test_case的sheet表单
wb.create_sheet('StudentsInfo')# 删除默认表
sh = wb['Sheet']
wb.remove(sh)# 保存为一个xlsx格式的文件
wb.save('批量导入用户模板.xlsx')

5.2 读取数据

import openpyxl
# 第一步:打开工作簿
wb = openpyxl.load_workbook('批量导入用户模板.xlsx')# 第二步:选取表单
sh = wb['StudentsInfo']
5.2.1 读取指定单元格数据
# 第三步:读取指定单元格
# 参数 row:行  column:列
ce = sh.cell(row = 1,column = 2)   # 读取第一行,第一列的数据
print(ce.value)
输出:姓名
5.2.2按行读取数据
# 按行读取数据 list(sh.rows)
print(list(sh.rows)[1:])     # 按行读取数据,去掉第一行的表头信息数据for cases in list(sh.rows)[1:]:stu_id =  cases[0].valuestu_name = cases[1].valuestu_sex = cases[2].valuestu_age = cases[3].valueprint(stu_id, stu_name, stu_sex, stu_age)
输出:
[
(<Cell 'StudentsInfo'.A2>, <Cell 'StudentsInfo'.B2>, <Cell 'StudentsInfo'.C2>, <Cell 'StudentsInfo'.D2>),
(<Cell 'StudentsInfo'.A3>, <Cell 'StudentsInfo'.B3>, <Cell 'StudentsInfo'.C3>, <Cell 'StudentsInfo'.D3>),
(<Cell 'StudentsInfo'.A4>, <Cell 'StudentsInfo'.B4>, <Cell 'StudentsInfo'.C4>, <Cell 'StudentsInfo'.D4>),
(<Cell 'StudentsInfo'.A5>, <Cell 'StudentsInfo'.B5>, <Cell 'StudentsInfo'.C5>, <Cell 'StudentsInfo'.D5>)
]
1 大佬 男 18
2 高手 女 18
3 大神 男 19
None 6 None None
5.2.2按行读取数据 结果转为json
all_row = []
for cases in list(sh.rows)[1:]:row = []stu_id =  cases[0].valuestu_name = cases[1].valuestu_sex = cases[2].valuestu_age = cases[3].value# print(stu_id, stu_name, stu_sex, stu_age)data = {"stu_id": stu_id,"stu_name": stu_name,"stu_sex": stu_sex,"stu_age": stu_age}all_row.append(data)print(all_row)
输出:
[
{'stu_id': 1, 'stu_name': '大佬', 'stu_sex': '男', 'stu_age': 18},
{'stu_id': 2, 'stu_name': '高手', 'stu_sex': '女', 'stu_age': 18},
{'stu_id': 3, 'stu_name': '大神', 'stu_sex': '男', 'stu_age': 19},
{'stu_id': None, 'stu_name': 6, 'stu_sex': None, 'stu_age': None}
]
5.3 关闭工作薄
# 关闭工作薄
wb.close()

5.3 写数据

5.3.1 写入一行
# 第二步:选取表单
sh = wb['StudentsInfo']# 第一行输入
sh.append(['1', '2', '3', '6'])

6. 样式

from openpyxl.styles import Font, colors, Alignment
6.1 改变 sheet 标签按钮颜色

二进制颜色代码大全(含图)

sh.sheet_properties.tabColor = "FFAA33"
6.2 设置单元格风格

下面的代码指定了等线24号,加粗斜体,字体颜色蓝色。直接使用cell的font属性,将Font对象赋值给它。

sh = wb['StudentsInfo']bold_itatic_24_font = Font(name='等线', size=24, italic=True, color=colors.BLUE, bold=True)
sh['A1'].font = bold_itatic_24_font
6.3 对齐方式

也是直接使用cell的属性aligment,这里指定垂直居中和水平居中。除了center,还可以使用right、left等等参数。

sh['B1'].alignment = Alignment(horizontal='center', vertical='center')
6.4 设置行高和列宽
# 第2行行高
sh.row_dimensions[2].height = 40
# C列列宽
sh.column_dimensions['C'].width = 30
6.5 合并和拆分单元格
sh.merge_cells('B1:G1') # 合并一行中的几个单元格
sh.merge_cells('A3:D6') # 合并一个矩形区域中的单元格

参考:
https://www.cnblogs.com/wanglle/p/11455758.html
http://www.52codes.net/develop/shell/58896.html

python 操作 excel相关推荐

  1. python连接excel存放数据_有了这篇python操作Excel学习笔记,以后储存数据 办公很轻松!...

    最近在做一些数据处理和计算的工作,因为数据是以.csv格式保存的,因此刚开始直接用Excel来处理.但是做着做着发现重复的劳动其实并没有多大的意义,于是就想着写个小工具帮着处理.以前正好在一本书上看到 ...

  2. excel python 形状_何使用Python操作Excel绘制柱形图

    开发工具,环境 PyCharm Python3 Office Excel 我们已经创建好了一张Excel表. 现在我们要根据已有的数据,往里面添加柱形图. 柱形图 BarChart 我们主要使用Bar ...

  3. python操作excel-自动化办公:python 操作Excel

    原标题:自动化办公:python 操作Excel 1.安装 pip install xlsxwriter or easy_install xlsxwriter or tar -zxvf xlsxwri ...

  4. python与excel做数据可视化-python操作Excel、读取CVS与数据可视化

    1. python操作Excel python操作Excel有多种module可以实现(xlrd.xlwt.xlutils.openpyxl.xlsxwriter),本文使用xlsxwriter这个m ...

  5. 用python处理excel-使用Python操作Excel文档(一)

    Python | 使用Python操作Excel文档(一) 0 前言 在阅读本文之前,请确保您已满足或可能满足以下条件: 请确保您具备基本的Python编程能力. 请确保您会使用Excel. 请确保您 ...

  6. python处理excel表格实例-使用Python操作excel文件的实例代码

    使用的类库 pip install openpyxl 操作实现 •工作簿操作 # coding: utf-8 from openpyxl import Workbook # 创建一个excel工作簿 ...

  7. python excel 自动化-python操作excel让工作自动化

    某局某领导给了3只excel文件,一只里面有4个sheet需要处理,一个sheet有250+列,算下来总共有3000+列需要手动反复插入.删除列.拷贝.求和,所以给了4天的时间要完成. 我不愿意做大量 ...

  8. Python操作excel进行插入、删除行操作实例演示,利用xlwings库实现

    Python 操作 Excel 之插入.删除行 第一章:整行插入与删除 ① Excel 的插入行实例演示 ② Excel 的删除行实例演示 第一章:整行插入与删除 ① Excel 的插入行实例演示 插 ...

  9. 全网最全 Python 操作 Excel 教程,建议收藏!

    [欢迎关注微信公众号:厦门微思网络] 微思网络(官网):https://www.xmws.cn/ 0 Python Excel库对比 我们先来看一下python中能操作Excel的库对比(一共九个库) ...

  10. excel进度条与百分比不符_用Python操作Excel数据

    今天给大家展示一个python操作Excel的小demo,demo的例子比较简单,如果大家有什么建议,欢迎可以直接在函数君的微信后台留言. 首先,我们需要安装python在我们的电脑上. 安装的步骤如 ...

最新文章

  1. 内存分段分页机制理解_深入理解虚拟机,JVM高级特性-自动内存管理机制
  2. springboot项目文档源码_基于SpringBoot和Vue的企业级中后台项目(附源码)
  3. 《Python程序设计(第3版)》[美] 约翰·策勒(John Zelle) 第 4 章 答案
  4. C语言 满分代码:L1-043 阅览室 (20分)(解题报告)
  5. java使用序列化实现深克隆
  6. 《操作系统》OS学习(四):计算机体系结构、内存层次和地址生成
  7. 程序园冬天好冷怎么办?
  8. call指令和ret指令(1001)
  9. Java中ArrayList,Vector,LinkedList,HashMap,HashTable,HashSet对比及总结
  10. 微软Media Creation Tool 创建工具 1.3 升级:支持全新下载安装Win11 22H2 Build 22621.525
  11. 求最大公约数(辗转相除法)
  12. 项目管理如何建立有效的团队沟通机制
  13. linux网桥中stp分析,linux网桥中stp分析
  14. 计算机学报应用研究,组推荐系统及其应用研究-计算机学报.PDF
  15. beyond compare 强制使用二进制传输,保证文件一样
  16. 牛客练习赛73 B.遥远的记忆(并查集)
  17. Java微服务实战项目推荐
  18. 如何用SQL做留存率分析
  19. The following signatures couldn‘t be verified because the public key is not available问题解决
  20. beyond compare下载安装及使用教程

热门文章

  1. 面对 20 亿行代码,Google 如何管理?
  2. linux echo命令的-n、-e两个参数
  3. MySQL5.6多实例部署
  4. struts中简单的校验
  5. 遇到mysql数据表不存在的问题
  6. myeclipse部署项目后,debug模式启动,总是弹出Class.class文件
  7. Spring的AOP使用xml配置
  8. 深入Mysql,SqlServer,Oracle主键自动增长的设置详解
  9. 使用VS搭建三层结构
  10. Clojure入门指南(Getting Started)