使用python的openpyxl模块操作excel

openpyxl(可读写excel表)专门处理Excel2007及以上版本产生的xlsx文件,xls和xlsx之间转换容易

openpyxl的安装

模块的引入

from openpyxl import Workbook
from openpyxl.styles import Color, Font, Alignment
from openpyxl.styles import Border, Side, Font
from openpyxl import load_workbook

模块的基本用法

 创建与保存

wb = Workbook()  # 创建一个新的excel
ws = wb.active  # 获得这个excel的第一个sheet表名
wb.save('xx.xlsx') # 保存excel,若是保存路径有同名文件则会覆盖只有保存后里面修改的内容才可以找到
 

 

 打开存在的excel

file_home = r"E:\demo.xlsx" # 文件的绝对路径
wb = load_workbook(file_home)
根据Sheet1这个sheet名字来获取该sheet
ws = wb['Sheet1']

 

对工作表的操作

print(wb.worksheets)  # 打印这个book里面的所有工作表
print(wb.worksheets[1])  # 打印这个book里面的第二个工作表
print(wb.sheetnames)  # 查看所有的sheet表,结果是列表形式,也可以用遍历:
ws = wb.active  # 获得这个book的第一个sheet表名
wb.remove(wb.worksheets[0])  # 删除索引为0的sheet表
wb.remove(wb['xxx'])  # 删除名为‘xxx’的表ws.title = '修改第一个表名'  # 因为 ws = wb.active获取的是第一个表名,所以修改的就是第一个
wb.worksheets[1].title = '修改索引为1的表名'
wb['xxx'].title = '修改名为最后一个工作表的表名' # 修改名为‘xxx’的表名字
ws1 = wb.create_sheet('新的sheet表', index=0) # 插入新的工作表,放在0位置
ws2 = wb.create_sheet('最后一个工作表') # 默认插在最后

 

对单元格的操作

file_home = r"E:\python-file\my_python\demo.xlsx"
wb = load_workbook(file_home)
ws = wb.active  # 获取第一个工作表
ws_rows_len = ws.max_row  # 最大行数
ws_columns_len = ws.max_column  # 最大列数
ws_rows = ws.rows  # 获取所有的行,得到的是可迭代的
ws_columns = ws.columns  # 获取所有的列,得到的是可迭代的
b4_1 = ws.cell(row=1, column=1)
b4_2 = ws['B4']
print(b4_1.value, b4_2.value)  # 获取单元格内容,用过value得到其值

 

修改单元格

file_home = r"E:\python-file\my_python\demo.xlsx"
wb = load_workbook(file_home)
ws = wb.active  # 获取第一个工作表
ws.merge('A1:B3')  # 合并单元格A1:B3
ws["A1"] = "=SUM(B1:C1)"  # 通过公式计算产生写入的值
ws["A1"] = 'A1内容'  # 对A1单元格内容修改,若是对合并的单元格的值进行修改,只需修改合并的单元格中左上角的单元格的内容
ws.cell(row=4, column=2, value=10)  # 通过坐标,修改4行2列(也就是B4)的值为10
ws.row_dimensions[1].height = 34  # 设置行高
ws.column_dimensions['B'].width = 22  # 设置列宽
ws["A1"] = "=SUM(B1:C1)"  # 通过公式计算产生写入的值
ws['A35'].font = Font(name='微软雅黑', size=14, bold=True)  # 设置单元格字体,bold=True加粗
ws["A1"].alignment = Alignment(horizontal='center', vertical='center')  # 第一行第一列单元格内容水平居中和垂直居中,也可以选择左对齐或右对齐
ws['A35'].border = Border(left=Side(border_style=None,  color='FF000000'),right=Side(border_style=None,  color='FF000000'),top=Side(border_style=None,  color='FF000000'),bottom=Side(border_style=1,  color='FF000000'),)
# 设置单元格上下左右边框, style属性:'dashDot','dashDotDot', 'dashed','dotted',
#                             'double','hair', 'medium', 'mediumDashDot', 'mediumDashDotDot',
#                             'mediumDashed', 'slantDashDot', 'thin', 'thick'为excel中的默认边框
# 对合并的单元格加边框时需要注意,不像赋值一样,而是需要将其中的所有的单元格(合并前)都加边框

 

转载于:https://www.cnblogs.com/jiaqi-666/p/9618375.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/266060.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

安卓APP_ 控件(5)—— ProgressBar

摘自:安卓APP_ 控件(5)—— ProgressBar 作者:丶PURSUING 发布时间: 2021-03-31 13:03:07 网址:https://blog.csdn.net/weixin_44742824/article/details/115313496 控件ProgressBar就是对进度条的设定&…

sql 写query_为什么需要动态SQL

为什么需要动态SQL在使用 EF或者写 SQL语句时,查询条件往往是这样一种非常常见的逻辑:如果客户填了查询信息,则查询该条件;如果客户没填,则返回所有数据。我常常看到很多人解决这类问题时使用了错误的静态 SQL的解决办…

AMBA总线协议AHB、APB

一、什么是AMBA总线 AMBA总线规范是ARM公司提出的总线规范,被大多数SoC设计采用,它规定了AHB (Advanced High-performance Bus)、ASB (Advanced System Bus)、APB (Advanced Peripheral Bus)。AHB用于高性能、高时钟频率的系统结构,典型的应用…

安卓APP_ 控件(6)—— Notification通知

摘自:安卓APP_ 控件(6)—— Notification通知 作者:丶PURSUING 发布时间: 2021-04-02 00:30:14 网址:https://blog.csdn.net/weixin_44742824/article/details/115382674 Notification通知的使用 一、创建一…

安卓APP_ 控件(7)——Toolbar栏目样式

摘自:安卓APP_ 控件(7)——Toolbar栏目样式 作者:丶PURSUING 发布时间: 2021-04-02 15:42:07 网址:https://blog.csdn.net/weixin_44742824/article/details/115395997 Toolbar栏目样式 什么是Toolbar?设置…

Gartner:2013年SIEM市场分析(MQ)

2013年5月7日,Gartner一年一度的SIEM magic quadrant报告出炉了。如下图:对比一下去年的MQ矩阵:简言之,上榜厂商减少到16个,Q1Labs在三强竞争中稍占上风,Arcsight有所退步,Splunk终于跻身第一阵…

北林计算机考研真题答案,真题解析|『北林』2020年考研初试真题

原标题:真题解析|『北林』2020年考研初试真题真题解析|『北林』2020年考研初试真题前言从今年的考试题型来看未做改变,(选择、名词解释、简答、论述)但分数分布略有更改。从考试内容来看,基本持平于去年的难易程度&…

安卓APP_ 控件(8)—— AlertDialog

摘自:安卓APP_ 控件(8)—— AlertDialog 作者:丶PURSUING 发布时间: 2021-04-02 18:13:20 网址:https://blog.csdn.net/weixin_44742824/article/details/115400659 显示对话框,效果如下图&…

安卓APP_ 控件(9)—— PopupWindow弹窗

摘自:安卓APP_ 控件(9)—— PopupWindow弹窗 作者:丶PURSUING 发布时间: 2021-04-05 14:41:35 网址:https://blog.csdn.net/weixin_44742824/article/details/115405555 实现效果如下: 点击触发…

计算机网址登录教程,melogincn电脑登录教程

请问melogincn使用电脑登录设置的教程?在电脑上怎么登陆水星(美科星)无线路由器的后台,通过melogincn,试了下发现不知道如何打开,求分享用melogincn用电脑登录设置的教程。使用环境描述:melogincn实际上应该是melogin.…

从外网给新建的Exchange 2007/2010分发通讯组发邮件失败

前几天部署Exchange2010时建立了几个通讯组邮箱,测试下来发现只有exchange内部组员进行邮件交流没有问题,外网发送到组邮箱时会收到#550 5.7.1 RESOLVER.RST.AuthRequired; authentication required ##的错误,当时没有找出问题原因&#xff0…

安卓APP_ 布局(1)—— LinearLayout

摘自:安卓APP_ 布局(1)—— LinearLayout 作者:丶PURSUING 发布时间: 2021-04-05 16:46:22 网址:https://blog.csdn.net/weixin_44742824/article/details/115442240 LinearLatout 一、orientation&#xf…

鼠标点击测试_鼠标键盘如何检测故障,这边教您简单的测试

沉迷,教您简单的测试鼠标故障。有线键盘和鼠标的检测步骤:(1)将电脑关机,拔插对应的连接线。(2)移除所有除了键盘和鼠标之外的设备,然后重启电脑。(3)重启后,观察鼠标的灯是否有亮。点击滚动锁定键,观察键盘…

影响计算机的速度有哪些,影响电脑速度的硬件有哪些

影响电脑速度的硬件有哪些?影响最直接的是cpu、内存条、硬盘。其次是主板、显卡。一、处理器cpucpu是电脑的大脑,是运算核心和控制核心,它的主要作用是处理指令和数据,电脑所有的硬件工作分工都市cpu分配和协调的。所以,cpu的层次…

atom编写python程序_编写我们的第一个Python程序,print.py

Python安装后,默认会安装很多功能模块,方便开发应用程序时调用,需要增加默认功能模块以外的模块时,使用的是PIP 这个工具,把需要模块安装到C:\Users\Administrator\AppData\Local\Programs\Python\Python38-32\Lib\sit…

安卓APP_ 布局(2) —— RelativeLayout相对布局

摘自:安卓APP_ 布局(2) —— RelativeLayout相对布局 作者:丶PURSUING 发布时间: 2021-04-05 20:19:54 网址:https://blog.csdn.net/weixin_44742824/article/details/115445242 RelativeLayout 一、根据父容器定位二、…

mutli-lane情况

PCIE3.0支持x1,x2,x4,x8,x16,x32 Lane widths. 在多条Lane情况下,有2类symbol framing,一类包含Ordered Sets,一类是TLP和DLLP。 Ordered Sets会同时在每条Lane上传输,所以每条Lane都会有完整的OS. 对于TLP/DLLP来说,S…

win10英雄联盟登录服务器未响应,win10系统英雄联盟登陆不上的解决方法

很多小伙伴都遇到过win10系统英雄联盟登陆不上的情况,想必大家都遇到过win10系统英雄联盟登陆不上的情况吧,那么应该怎么处理win10系统英雄联盟登陆不上呢?我们依照1、尝试打开网页或登录QQ查看是否正常能打开/登录,如果可以打开可…

玩转SSRS第六篇---客户端报表进阶

上一篇介绍了客户端报表的基本开发。此篇讲介绍如何给客户端报表自定义开发数据源。 通过上一篇我们知道可以通过Dataset的方式给报表添加数据源,这种方式通过UI操作的方式相对来说比较简单。此外我们也可以通过其它方式为客户端报表提供数据源,使数据的…

安卓APP_ 布局(3) —— FrameLayout帧布局

摘自:安卓APP_ 布局(3) —— FrameLayout帧布局 作者:丶PURSUING 发布时间: 2021-04-05 20:41:02 网址:https://blog.csdn.net/weixin_44742824/article/details/115447658 帧布局的机制 从左上角开始绘制。 若有重叠&…