python技巧分享Excel创建和修改
作者:zzxiaoma 发布时间:2022-01-09 12:04:59
openpyxl
是一个读写Excel文档的Python
库,能够同时读取和修改Excel文档。
openpyxl是一个开源项目,因此在使用之前需要先进行安装:
pip install openpyxl
openxpyxl
中有三个不同层次的类,分别是Workbook
、Worksheet
和Cello。Workbook是对Excel工作簿的抽象,Worksheet是对表格的抽象,Cell是对单元格的抽象。每一个类都包含了若干属性和方法,以便于我们通过这些属性和方法获取表格中的数据。一个Workbook
对象代表一个Excel文档,因此在操作一个Excel之前,应该先创建一个Workbook
对象。对于创建一个新的Excel文档,直接进行Workbook类调用即可。对于读取一个已有的Excel文档,可以使用openxpyxl模块的load_workbook函数。该函数接受多个参数,但只有filename参数为必传参数。filenmame
可以是一个文件名,也可以是一个打开的文件对象。
Workbook对象有很多的属性和方法:
1、active:获取活跃的Worksheet;
2、read_only:是否以read_only模式打开Excel文档;
3、encoding:文档的字符集编码:
4、properties:文档的元数据,如标题,创建者,创建日期等;
5、worksheets:以列表的形式返回所有的Worksheet。
Workbook对象的方法:
1、get_sheet_names:获取所有表格的名称;
2、get_sheet_by_name:通过表格名称获取Worksheet对象;
3、get_active_sheet:获取活跃的表格;
4、remove_sheet:删除一个表格;
5、create_sheet:创建一个空的表格;
6、copy_worksheet:在Workbook内拷贝表格。
常用的Worksheet属性:
1、title:表格的标题;
2、dimensions表格的大小,这里的大小是指有含有数据的表格大小。
3、max_row表格的最大行;
4、min_row表格的最小行;
5、max_column表格的最大列;
6、min_column表格的最小列;
7、rows按行获取单元格(Cell对象);
8、columns按列获取单元格(Cell 对象);
9、freeze_panes冻结窗格;
10、values按行获取表格的(数据);
import openpyxl
wb = openpyxl.load_workbook('book2.xlsx')
print(wb.active)
print(wb.read_only)
print(wb.worksheets)
print(wb.get_sheet_names())
print(wb.get_active_sheet())
sheet = wb.get_sheet_by_name('Sheet1')
print(sheet.max_row)
for row in sheet.values:
print(*row)
创建和修改excel:
from openpyxl import Workbook
wb = Workbook() #默认创建一个sheet
sheet = wb.active
sheet.title = 'test1'
sheet0 = wb.create_sheet(index=0, title="test0") #又创建一个sheet,并且放到第一位
sheet0['A1'] = '姓名'
sheet0['A2'] = 'ok'
wb.save('abc.xlsx')
如果文件已经存在,会删除文件重新建立。
例子:求RECORD
这一列值的合计,并写入下最后一行
import openpyxl
wb = openpyxl.load_workbook('test.xlsx') #打开文件
sheet = wb.get_sheet_by_name('Sheet1') #获取第一个sheet
sum = 0.00
for row in range(2,sheet.max_row+1): #从第二行到最后一行
scores = sheet.cell(row,column=3).value #获取第三列
sum = sum + scores
sheet.cell(column=3, row=sheet.max_row+1, value=sum) #最后一行赋值
wb.save('test.xlsx')
来源:https://blog.51cto.com/u_3764469/5038928


猜你喜欢
- 安装依赖主要这边还需要安装两个依赖,gorm、viper ,具体的可以访问他们的官网(Gorm官网地址 Viper Github地址)初始化
- 本文实例讲述了python单向循环链表原理与实现方法。分享给大家供大家参考,具体如下:单向循环链表单链表的一个变形是单向循环链表,链表中最后
- 本文实例讲述了python实现在控制台输入密码不显示的方法。分享给大家供大家参考。具体实现方法如下:import console;names
- 3. 品味“决定”艺术作品的好坏,设计的好坏则来自主观意见我们在鉴赏艺术作品时,用看法来表达当时的感觉,而你的品味则会左右你的看法。以一个有
- 1、数据库架构1.1、MySQL 的基础架构图给面试官讲一下 MySQL 的逻辑架构,有白板可以把下面的图画一下,图片来源于网络。Mysql
- 关于Python的文件遍历,大概有两种方法,一种是较为便利的os.walk(),还有一种是利用os.listdir()递归遍历。方法一:利用
- extend()方法追加序列内容到列表。语法以下是extend()方法的语法:list.extend(seq)参数 &
- 1.SQL Server 2005中的存储过程并发问题问:我在SQL Server2005中遇到了并发问题。我持有车票的公共汽车上有一些空闲
- Pythonpython 真的太好用了,但是它真的好慢啊(哭死) ; C++ 很快,但是真的好难写啊,此生能不碰它就不碰它。老天啊,有没有什
- 基于很多原因,有不少朋友的空间不支持FSO,当大量的页面生成静态页面时,占用大量的空间,修改样式时,不方便,所以动态页面还是有动态页面的好处
- 要找到最早的活动事务,可以使用DBCC OPENTRAN命令。详细用法见MSDN:http://msdn.microsoft.com/zh-
- RSA是一种非对称加密算法,它的名字是由它的三位开发者,即RonRivest、AdiShamir和LeonardAdleman 的姓氏的首字
- Vignere密码Vignere Cipher包含用于加密和解密的Caesar Cipher算法. Vignere Cipher与Caesa
- Linux下MySQL数据库的主从同步配置的好处是可以把这个方式当做是一个备份的方法,用来实现读写分离,缓解一个数据库的压力。让运行海量数据
- 前言在进行接口测试时,有些接口字段在不需要测试的时候往往是被写死的,但是你不能保证它就不会出现问题,所以在平时测试的时候就需要覆盖各种情况,
- Unittestunittest大家应该都不陌生。它作为一款博主在5-6年前最常用的单元测试框架,现在正被pytest,nose慢慢蚕食。渐
- 一、掩膜(mask)在有些图像处理的函数中有的参数里面会有mask参数,即此函数支持掩膜操作,首先何为掩膜以及有什么用,如下:数字图像处理中
- 目录楔子上传模块至pypi编写模块编译上传楔子我们在安装第三方包的时候,直接一个pip install xxx命令就搞定了,然后pip会去p
- 如下所示:import cv2#循环灰度图片并保存def grayImg(): for x in range(1,38): #读
- 文件操作示例#输入文件f = open(r'D:\Python27\pro\123.bak') #输出文件fw = open