Python与openpyxl的不解之缘【1】
目录
1. Excel文档基本定义
2. 安装 openpyxl 模块
3.读取已存在的Excel表
4.新建工作薄
5.遍历工作表内容
6.合并单元格
7.插入,删除行和列
8.移动数据表
9.往表中写入数据
在进入工作期间,我碰到了一些开发任务,是关于Python与Excel之间的操作,比如读取,写入。接下来,我将一边学习,一边做总结。Excel 是 Windows 环境下流行的、强大的电子表格应用。openpyxl 模块让 Python 程序能读取和修改 Excel 电子表格文件。
1. Excel文档基本定义
- 工作簿(workbook): 一个 Excel 电子表格文档;
- 工作表(sheet): 每个工作簿可以包含多个表, 如: sheet1, sheet2等;
- 活动表(active sheet): 用户当前查看的表;
- 列(column): 列地址是从 A 开始的;
- 行(row): 行地址是从 1 开始的;
- 单元格(cell): 特定行和列的方格;
2. 安装 openpyxl 模块
Python 没有自带 openpyxl,所以必须安装。
pip3 install openpyxL
3.读取已存在的Excel表
from openpyxl import load_workbook#打开已存在的工作薄
wb = load_workbook('123.xlsx')
#新建页签--工作表
wb.create_sheet('SML')
#指定一个工作表
ws = wb['SML']
#指定活跃的一个表---关闭工作薄时处于哪个工作表
ws = wb.active
#读取指定单元格的数据
print(ws['B4'].value)wb.save('123.xlsx)
这里要注意的是:运行时,记得关闭工作薄
4.新建工作薄
from openpyxl import Workbookwb = Workbook()
#默认的是第一张工作表
ws.active()
#修改工作表的表名
ws.title('qq')
#添加数据:第一行从左向右依次添加
ws.append([123,234,456,567])ws.save('new_excel.xlsx')
5.遍历工作表内容
from openpyxl.utils import get_column_letterwb = load_workbook('new.xlsx')
ws = ws.active# 列col,1代表的就是A.....
for row in range(1,5):for col in range(1,6):char = get_column_letter(col)print(ws[char + str(row)].value) #char + str(row)相当于A1,B1,C1....
6.合并单元格
from openpyxl import load_workbookwb = load_workbook('new.xlsx')
ws = wb.active
#合并单元格(对角线原则区域)
ws.merge_cells('A1:B2')wb.save('new.xlsx')
7.插入,删除行和列
from openpyxl import load_workbookwb = load_workbook('123.xlsx')
ws = wb.active#插入单行,单列
ws.insert_rows(3)
ws.insert_cols(5)#插入多行,多列
ws.insert_rows(idx=3,amount=4)
ws.insert_cols(idx=4,amount=6)#删除
ws.delete_cols(2)
ws.delete_cows(3)wb.save('123.xlsx')
8.移动数据表
move_range('A1:C5',row = 2,col = 2) 整体向下移动
9.往表中写入数据
from openpyxl import load_workbook
from openpyxl.utils import get_column_letterdata = [{'name': 小米,'age': 45,'tall': 178,},{'name': 小米,'age': 45,'tall': 178,},{'name': 小米,'age': 45,'tall': 178,}]wb = load_workbook('123.xlsx')
ws = wb.activetitle = ['姓名','年龄','升高']
ws.append(title)
for person in data:ws.append(list(person.values())
for col in range(2,5):char = get_column_letter(col)ws[char + '7'] = f'=AVERAGE({char + '2'}:{char + '5'}wb.save('123.xlsx')
Python与openpyxl的不解之缘【1】相关推荐
- python导入openpyxl报错问题,终于解决啦
python导入openpyxl报错问题,终于解决啦 参考文章: (1)python导入openpyxl报错问题,终于解决啦 (2)https://www.cnblogs.com/guotang/p/ ...
- Python使用openpyxl读写excel文件
Python使用openpyxl读写excel文件 Python使用openpyxl读取excel文件中数据 Python使用openpyxl往excel文件中写入数据 Python使用openpyx ...
- Python使用openpyxl模块读写excel文件
Python使用openpyxl模块读写excel文件 openpyxl是一个用于写入和读取xlsx格式的excel文件的Python模块. excel2010后的后缀名为xlsx,不再是xls,使用 ...
- Python+os+openpyxl 批量获取Excel的文件名和最大行数
1. 提出需求 这已经不知道是粉丝问我的第几个办公自动化的问题了,并且这些问题都是大家在学习和工作中碰到过的真实问题场景.其实从下图中已经可以很明确的看出别人的需求了,我这里就不用在赘述了,下面直接上 ...
- [转载] Python利用openpyxl模块读取excel文件内容
参考链接: Python | 使用openpyxl模块调整Excel文件的行和列 import openpyxl wb = openpyxl.load_workbook('原始数据.xlsx') #读 ...
- python 使用 openpyxl 批量调整字体和样式
python 使用 openpyxl 批量调整字体和样式 修改字体样式 Font(name,size,bold,italic,color) 获取表格中格子的字体样式 设置对齐样式 Alignment( ...
- Python使用openpyxl和pandas处理Excel文件实现数据脱敏案例一则
推荐图书: <Python程序设计(第3版)>,(ISBN:978-7-302-55083-9),清华大学出版社,2020年6月第1次印刷 送书活动火爆进行中:董老师又双叒叕送书啦,30本 ...
- 用python的openpyxl库实现对excel工作表的自动化操作
用python的openpyxl库实现对excel工作表的自动化操作 用python的openpyxl库读取excel工作表,批量建立工作表,批量修改工作表标题,批量设置单元格样式,批量调整打印设置. ...
- 使用python中openpyxl模块操作excel文件,计算单元格分子式的相对分子质量(一)
背景:本人是力学专业博士,从事分子动力学模拟,最近需要对结果进行数据分析,其中一项就是计算每一时刻的不同分子式的相对分子质量并将最大相对分子质量输出,换出曲线图.已知,分子式数据均保存在excel文件 ...
最新文章
- 最快最简单的排序(之二)——桶排序(简化版)
- springboot 实现微信小程序授权并解密手机号
- 列名 userid 不明确。 表结构_那些你不知道的表结构设计思路
- 程序员穿特步鞋相亲被拒!特步:怪我喽?
- git ignore 怎么添加和删除_Git删除已追踪文件,上传大文件到Github
- 对象输出流 ObjectOutputStream java
- Django web框架-----Django连接本地现有mysql数据库
- 双层玻璃窗的功效模型matlab,数学建模实例双层玻璃的功效
- AcWing 1801. 蹄子剪刀布(思维+暴力)
- 获取Activity当前屏幕方向。
- 1个英文字母、1个汉字、标点符号各占几个字节
- java web 注册登录_javaweb实现登录注册功能实例
- Python分支+简单循环
- 从零搭建SSM框架及所遇到问题
- 内网环境下使用rpm包制作yum数据源及使用
- 第三次郑州.NET俱乐部活动总结
- Matplotlib 多子图绘制
- 产品交付周期计算公式_使用周期时间指标优化工程团队的交付
- 监控 prometheus及其部署及server discovery,alertmanager,grafana(更新结束)
- 在centos7中下载搜狗输入法
热门文章
- 亿百特E22 lora模块使用教程
- CP56time2a是什么格式?
- 正则表达式:不匹配特定的字符串
- cvc-complex-type.2.4.d: 发现了以元素 ‘d:skin’ 开头的无效内容。此处不应含有子元素。
- 【BT】经典蓝牙连接速度优化
- Java-PTA 奇偶分家
- # ABAP 1. ALV快速模板
- 全网同名: 关于窝在多个平台账号的说明
- ASP.Net Core The type initializer for 'Gdip' threw an exception
- Execution default-resources of goal org.apache.maven.plugins:maven-resources-plugin:2.5:resources...