python 操作 excel
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相关推荐
- python连接excel存放数据_有了这篇python操作Excel学习笔记,以后储存数据 办公很轻松!...
最近在做一些数据处理和计算的工作,因为数据是以.csv格式保存的,因此刚开始直接用Excel来处理.但是做着做着发现重复的劳动其实并没有多大的意义,于是就想着写个小工具帮着处理.以前正好在一本书上看到 ...
- excel python 形状_何使用Python操作Excel绘制柱形图
开发工具,环境 PyCharm Python3 Office Excel 我们已经创建好了一张Excel表. 现在我们要根据已有的数据,往里面添加柱形图. 柱形图 BarChart 我们主要使用Bar ...
- python操作excel-自动化办公:python 操作Excel
原标题:自动化办公:python 操作Excel 1.安装 pip install xlsxwriter or easy_install xlsxwriter or tar -zxvf xlsxwri ...
- python与excel做数据可视化-python操作Excel、读取CVS与数据可视化
1. python操作Excel python操作Excel有多种module可以实现(xlrd.xlwt.xlutils.openpyxl.xlsxwriter),本文使用xlsxwriter这个m ...
- 用python处理excel-使用Python操作Excel文档(一)
Python | 使用Python操作Excel文档(一) 0 前言 在阅读本文之前,请确保您已满足或可能满足以下条件: 请确保您具备基本的Python编程能力. 请确保您会使用Excel. 请确保您 ...
- python处理excel表格实例-使用Python操作excel文件的实例代码
使用的类库 pip install openpyxl 操作实现 •工作簿操作 # coding: utf-8 from openpyxl import Workbook # 创建一个excel工作簿 ...
- python excel 自动化-python操作excel让工作自动化
某局某领导给了3只excel文件,一只里面有4个sheet需要处理,一个sheet有250+列,算下来总共有3000+列需要手动反复插入.删除列.拷贝.求和,所以给了4天的时间要完成. 我不愿意做大量 ...
- Python操作excel进行插入、删除行操作实例演示,利用xlwings库实现
Python 操作 Excel 之插入.删除行 第一章:整行插入与删除 ① Excel 的插入行实例演示 ② Excel 的删除行实例演示 第一章:整行插入与删除 ① Excel 的插入行实例演示 插 ...
- 全网最全 Python 操作 Excel 教程,建议收藏!
[欢迎关注微信公众号:厦门微思网络] 微思网络(官网):https://www.xmws.cn/ 0 Python Excel库对比 我们先来看一下python中能操作Excel的库对比(一共九个库) ...
- excel进度条与百分比不符_用Python操作Excel数据
今天给大家展示一个python操作Excel的小demo,demo的例子比较简单,如果大家有什么建议,欢迎可以直接在函数君的微信后台留言. 首先,我们需要安装python在我们的电脑上. 安装的步骤如 ...
最新文章
- 内存分段分页机制理解_深入理解虚拟机,JVM高级特性-自动内存管理机制
- springboot项目文档源码_基于SpringBoot和Vue的企业级中后台项目(附源码)
- 《Python程序设计(第3版)》[美] 约翰·策勒(John Zelle) 第 4 章 答案
- C语言 满分代码:L1-043 阅览室 (20分)(解题报告)
- java使用序列化实现深克隆
- 《操作系统》OS学习(四):计算机体系结构、内存层次和地址生成
- 程序园冬天好冷怎么办?
- call指令和ret指令(1001)
- Java中ArrayList,Vector,LinkedList,HashMap,HashTable,HashSet对比及总结
- 微软Media Creation Tool 创建工具 1.3 升级:支持全新下载安装Win11 22H2 Build 22621.525
- 求最大公约数(辗转相除法)
- 项目管理如何建立有效的团队沟通机制
- linux网桥中stp分析,linux网桥中stp分析
- 计算机学报应用研究,组推荐系统及其应用研究-计算机学报.PDF
- beyond compare 强制使用二进制传输,保证文件一样
- 牛客练习赛73 B.遥远的记忆(并查集)
- Java微服务实战项目推荐
- 如何用SQL做留存率分析
- The following signatures couldn‘t be verified because the public key is not available问题解决
- beyond compare下载安装及使用教程