详解Python操作Excel之openpyxl
作者:黑伴白 发布时间:2021-10-13 05:13:21
Python操作Excel之openpyxl
openpyxl是一个Python库,用来读写Excel2010 xlsx/xlsm/xltx/xltm类型文件。
openpyxl不能操作早期的xls格式的Excel文件,可以使用xlwings等其他库。
openpyxl是一个非标准的库,需要自行安装:
pip install openpyxl
前提
既然要操作Excel,那么前提我们对Excel要有一个基本的了解,比如:
一个Excel工作簿(workbook)由一个或多个工作表(sheet组成),一个工作表(sheet)中又包含多个行(row)和列(column),每一行(row)或每一列(column)又是由多个单元格(cell)组成
创建
from openpyxl import Workbook
# 创建一个工作簿对象
wb = Workbook()
# 创建一个名为first的sheet页 [第二个参数可以指定索引,即创建sheet的位置]
ws = wb.create_sheet('first')
# 将创建的工作簿保存为Mytest.xlsx
wb.save('Eric_01.xlsx')
# 最后关闭文件
wb.close()
Workbook对象提供了很多属性和方法,其中,大部分方法都与sheet有关
部分属性如下:
active
:获取当前活跃的Worksheetworksheets
:以列表的形式返回所有的Worksheet(表格)read_only
:判断是否以read_only模式打开Excel文档encoding
:获取文档的字符集编码properties
:获取文档的元数据,如标题,创建者,创建日期等sheetnames
:获取工作簿中的表(列表)
部分方法如下:
get_sheet_names
:获取所有表格的名称(新版已经不建议使用,通过Workbook的sheetnames属性即可获取)get_sheet_by_name
:通过表格名称获取Worksheet对象(新版也不建议使用,通过Worksheet[‘表名’]获取)get_active_sheet
:获取活跃的表格(新版建议通过active属性获取)remove_sheet
:删除一个表格create_sheet
:创建一个空的表格copy_worksheet
:在Workbook内拷贝表格
读取
from openpyxl import load_workbook
# openpyxl.load_workbook()打开已有工作簿
wb = load_workbook('Eric.xlsx')
# 打印工作簿中存在的工作表名称
print(wb.sheetnames)
# 根据名称获取工作表
sheet = wb['sheet1']
# 如果只有一个工作表也可以如下
sheet = wb.active
# 读取表格内容所在范围
sheet.dimensions
# 获取单元格内容
# 指定坐标
cell = sheet['A1']
# 指定行列
cell = sheet.cell(row=3, column=4)
# 打印单元格的值
print(cell.value)
# 获取单元格的行、列、坐标
print(cell.row, cell.column, cell.coordinate)
# 获取范围单元格的值
# 指定坐标范围
cells = sheet['A1':'C3']
# 指定列范围
cells = sheet['A:C'] # cells = sheet['A']
# 指定行范围
cells = sheet[2:5] # cells = sheet[3]
# 遍历获取单元格的值
for cell in cells:
print(cell.value)
# 特定范围
for row in sheet.iter_rows(min_row = 1, max_row = 10
min_col = 1, max_col = 26):
print(row)
# 遍历获取单元格的值
for cell in row:
print(cell.value)
# 读取所有行
for row in sheet.rows:
print(row)
来源:https://blog.csdn.net/weixin_49192027/article/details/122465045
猜你喜欢
- 本文实例讲述了python在控制台输出进度条的方法。分享给大家供大家参考。具体实现方法如下:进度条效果如下所示:|#############
- PHP PDO 大对象 (LOBs)应用程序在某一时刻,可能需要在数据库中存储"大"数据。"大"通常
- 在第一章,我们讲过position,当它取值absolute的时候,即绝对定位。既然是定位,就要有参照物。一般来讲,这个定位的参照物是bod
- 刚才帮一位朋友做跳转的时候做的,为了获取完整的url地址,还是花了那么点时间不过现在看来,原来是那么简单,没有网上那么多复杂的东东,相信一定
- 这篇文章主要介绍下如何创建并调用函数。print():是打印放入对象的函数 len():是返回对象长度的函数 input():是让用户输入对
- 主题众所周知,django.forms极其强大,不少的框架也借鉴了这个模式,如Scrapy。在表单验证时,django.forms是一绝,也
- 很多时候,希望能够在 HTML 中使用空格排版。但浏览器在解析 HTML 时,会把连续的空格解析成一个,所以我们会使用
- qqbot 是一个用 python 实现的、基于腾讯 SmartQQ 协议的 QQ 机器人框架,可运行在 Linux 、 Windows 和
- 最简单的办法就是直接在php程序代码中加入下面代码:error_reporting(E_ALL^E_NOTICE^E_WARNING);可以
- 引入Gridgrid=Grid() # 可以分别调整上下左右的位置,可以是百分比,也可以是具体像素,如pos_top="50px&
- 最近很少写CSS了,以后也可能写的会很少了,所以还是想把自已的一些经验能和大家分享一下,希望能给大家一些帮助!这篇文章主要写的提高网页在客户
- 一个简单的php文件下载源代码,虽不支持断点续传等,但是可以满足一些常用的需求了。php下载文件其实用一个a标签就能实现,比如 <a
- SvnPeer.php <?php /** * * This class for execute the external progr
- 1、确认框架中安装了第三方alibabacoud控件实现代码如下上传过程中遇到任务问题,可以进行留言<?php namespace A
- 复制目录: 包含多层子目录方法: 递归, 深度遍历,广度遍历深度遍历&广度遍历:思路:1.获得源目录子级目录,并设置目标目录的子级路
- 在多个文件或者不同语言协同的项目中,python脚本经常需要从命令行直接读取参数。万能的python就自带了argprase包使得这一工作变
- 将转储设备加入到SQL Server备份数据库的地方。在SEM中转储设备是可见性的,并且在设备上的信息被存储在主要数据库的sysdevice
- 不论什么时候,只要系统带有多个设备,而这些设备的性能又各不相同,就存在从慢速设备到快速设备不断更换工作地点以改善系统性能的可能性,这就是缓存
- A.截取从字符串左边开始N个字符 Declare @S1 varchar(100) Select @S1='http://www.x
- 上一讲完成了基本博客的配置和项目工程的生成。这次开始将博客一些基本的操作主要是数据库方面学习。1.设计博客数据库表结构博客最主要的功能就是展