Python 自动化办公之 Excel 模块 — openpyxl 的基本使用!

如何用Python 自动化办公Excel 模块openpyxl基本使用 openpyxl 介绍 openpyxl 是一个直接可用于读写 xlsx 、xlsm、xltx、xltm 文件的 Python 内置库,借助它可以利用 Python 语法对本地 xlsx 文件进行自动化批量操作 先说一下安装部分,如果小伙伴们用 Anaconda 作为 Python 环境的话,openpyxl 无需安装可直接使用;需要安装的话方法也非常简单 pip 工具一行命令即可 pip install openpyxl 复制代码 xlsx 文件属性 在对 Excel 表格处理之前,需要了解一下 xl.. 阅读详情

openpyxl 介绍

openpyxl 是一个直接可用于读写 xlsx 、xlsm、xltx、xltm 文件的 Python 内置库,借助它可以利用 Python 语法对本地 xlsx 文件进行自动化批量操作
先说一下安装部分,如果小伙伴们用 Anaconda 作为 Python 环境的话,openpyxl 无需安装可直接使用;需要安装的话方法也非常简单 pip 工具一行命令即可

pip install openpyxl

xlsx 文件属性

在对 Excel 表格处理之前,需要了解一下 xlsx 文件的几个名词解释及构造
1,Workbook 指的是神什么?

Workbook 名叫工作薄,可以代指一个 xlsx 文件;

2, sheet、cell、row 、col 分别指的是什么?

关于问题2 ,可参考下图(见注释)
在这里插入图片描述

openpyxl 基本命令操作

1,创建 一个空的 workbook

from openpypl import Wrokbook
from openpyxl.utils import get_column_letter

wb = Workbook()
ws1 = wb.active

一个 Workbook 默认至少含有一个 worksheet ,通过命令 Workbook.active 来获取当前第一个 sheet(也就是第一个 sheet);

2,创建新的 worksheet

ws1 = wb.create_sheet("Mysheet") # insert at the end (default)

ws2 = wb.create_sheet("Mysheet", 0) # insert at first position
# or
ws3 = wb.create_sheet("Mysheet", -1) # insert at the penultimate position

可通过 create_sheet() 命令创建新的 worksheet , create_sheet 默认有两个参数 name、index;

  • name,定义 sheet 的名字;
  • index,来设置插入 sheet 的位置,默认为 None 即新创建的 sheet 插入到最后面;0 代表插入第一个 sheet 的位置;

3,更改 sheet 的名字

一行代码即可

ws.title = 'New Title'

4,更改 sheet 上 tab 背景颜色

ws.sheet_properties.tabColor = "1072BA"

通过修改 Wroksheet.sheet_properties.tabColor 参数即可,需要注意的是这里只接收 RRGGBB 颜色代码;

关于不清楚 sheet tab 背景颜色不清楚是什么的小伙伴,可参考下图;

在这里插入图片描述

5, 返回 Workbook 中所有 sheet 的名字

通过 Workbook.sheetname 命令即可查看

>>> print(wb.sheetnames)
['Sheet2', 'New Title', 'Sheet1']

# 或者用迭代方法

>>> for sheet in wb:
...     print(sheet.title)

6,将现有的 worksheets 复制新创建的 workbook 中

可通过 Workbook.copy_worksheet()函数方法

# 将 source 中的worksheet复制到 target 中去

source = wb.active
target = wb.copy_worksheet(source)

需要注意的是,当 workbook 为只读或 只写模式时不可复制;另外只有 cells(值,样式,超链接、注释) 和 特定的 worksheet 属性(维度、格式、属性)可以复制,其他的一些 workbook / worksheet 属性不可复制( Images Charts 等)

7,获取某个 cell 的数据

成功创建完 Workbook、Worksheet 之后,接下来就可以修改 cell(单元格中的内容,Cells 可以通过 worksheet 中特有关键词来获取

>>> c = ws['A4'] # 获取第4行列名为A 单元格中的值

通过赋值命令对其修改

ws['A4'] = 4

openpyxl 中有一个函数 Worksheet.cell() 可修改单元格中的数据,可定位到具体行、具体列进行更改,

d = ws.cell(row = 4,columns = 2,value = 10)
  • row 表示指定行
  • columns 表示指定列
  • value 表示该单元格中需替代的数据值;当此参数不设置时表示只对该 cell 创建内存空间,不赋值

例如

>>> for x in range(1,101):
...        for y in range(1,101):
...            ws.cell(row=x, column=y)

8,获取多个单元格

8.1 , openpyxl 也可以进行切片操作,来获取多个单元格

>>> cell_range = ws['A1':'C2']

8.2, worksheet 中多行多列数据获取方式相似

>>> colC = ws['C']
>>> col_range = ws['C:D']
>>> row10 = ws[10]
>>> row_range = ws[5:10]

8.3,Worksheet.iter_row() 来获取 sheet 中行列范围,再利用循环迭代获取每一个单元格数据

>>> for row in ws.iter_rows(min_row=1, max_col=3, max_row=2):
...    for cell in row:
...        print(cell)
<Cell Sheet1.A1>
<Cell Sheet1.B1>
<Cell Sheet1.C1>
<Cell Sheet1.A2>
<Cell Sheet1.B2>
<Cell Sheet1.C2>

8.4,Worksheet.iter_cols() 也可以实现同样功能

>>> for col in ws.iter_cols(min_row=1, max_col=3, max_row=2):
...     for cell in col:
...         print(cell)
<Cell Sheet1.A1>
<Cell Sheet1.A2>
<Cell Sheet1.B1>
<Cell Sheet1.B2>
<Cell Sheet1.C1>
<Cell Sheet1.C2>

需要注意的时在 read-only 模式中,Worksheet,iter_cols() 方法不能使用

9,只查看 cell 中的 value

9.1,只查看 worksheet 中的 value 时,可通过 Worksheet.values 属性,该属性将迭代 worksheet 中所有行,但返回的仅仅是 cell values

for row in ws.values:
   for value in row:
     print(value)

9.2,通过 Worksheet.iter_rows() 和 Worksheet.iter_cols() 也可以实现,在函数中加入一个参数 values_only = True 即可返回 cell 的值

>>> for row in ws.iter_rows(min_row=1, max_col=3, max_row=2, values_only=True):
...   print(row)

(None, None, None)
(None, None, None)

读写文件操作

1.excel 文件加载

openpyxl.load_workbook() 函数来打开一个指定本地存储的 xlsx 文件

>>> from openpyxl import load_workbook
>>> wb2 = load_workbook('test.xlsx')
>>> print wb2.sheetnames
['Sheet2', 'New Title', 'Sheet1']

2.excel 文件存储

Workbook 修改成功后,后创建完成之后,通过Workbook.save(path) 命令即可保存至本地磁盘

>>> wb = Workbook()
>>> wb.save('balances.xlsx')

好了,以上就是本篇文章的所有内容了,最后感谢大家的阅读!

Python自动化办公 - 对Excel表格的操作(openpyxl基本使用 添加链接描述 阅读详情

相关推荐

Python 自动化办公 1:openpyxl 操作 Excel

摘要:本文介绍使用Pythonopenpyxl库实现Excel自动化办公,主要包含批量写入数据和合并单元格两大功能。通过代码示例演示了如何快速创建考勤表、销售汇总表等常见表格,实现从列表/字典批量导入数据,以及按规则自动合并相同内容单元格。相比手动操作2小时的工作量,自动化处理仅需5分钟,显著提升办公效率。文章还提供了环境配置、代码实现和实用技巧,适合需要处理重复性Excel任务的办公人员学习使用

xiaojie963的博客 1116

python修改sheet名称_openpyxl修改sheet名,sheet颜色,删除sheet的方法

万事万物的操作都是增删改查,sheet也不例外,前面我们讲了openpyxl查询和增加sheet的操作,本节课说下修改和删除的操作。1、修改sheet名字(通过sheet对象的title属性)You can change this name at any time with theWorksheet.title property:ws.title = "New Title"2、修改sheet名背景...

weixin_39871649的博客 1万+

一篇文章告诉你如何利用python实施自动化办公,操作Excel

python使用openpyxl操作excel 1、openpyxl库介绍 openpyxl最好用的python操作excel表格库,不接受反驳; openpyxl官网链接:openpyxl官网 (https://openpyxl.readthedocs.io/en/stable/) openpyxl只支持【.xlsx / .xlsm / .xltx / .xltm】格式的文件; 2、python怎么打开及读取表格内容? 1)Excel表格述语 这里需要...

four91的博客 2871

Python 自动化办公- openpyxl 创建一个 Excel 写入数据自动存储

上一篇 自动化办公文章中介绍了 openpyxl 模块处理 Excel 文件的一些基本命令,但文章中涉及的操作命令并不是很全,因此就有了本篇文章;本文下面Python构建的办公自动化项目都有详细的配套教程以及源码,都已经打包好上传到百度云了,链接在文章结尾处!扫码此处领取大家自行获取即可~~~**3,在第一个 sheet 40*600 个单元格中填充数据 **openpyxl 还有一个强大的功能,可以使用 Excel 表格内置函数;

m0_74942241的博客 3433

openpyxl 处理 excel 文档学习之workbook及worksheet学习

一、workbook 创建workbook from openpyxl import Workbook wb = Workbook() #得到一个全新的workbook 二、worksheet 1.创建workbook的时候会默认创建出一个worksheet 使用active就可以得到这个worksheet ws = wb.active #得到一个默认的

C2496649361的博客 9172

最详细的Excel模块Openpyxl教程(七)-工作簿sheet页属性设置

在上次的文章中,我们介绍了opnepyxl中图表设置的一些简单案例,相关推文可以从本公众号的底部相关菜单获取。接下来的推文我们来看一下在openpyxl中怎么对工作簿的Sheet进行一些设置。 一、工作表的可用属性 最常用的属性是“fitTopage”页面设置属性和tabColor,它们定义工作表选项卡的背景色。目前的openpyxl支持的可用一些属性设置如下: 我们以filterMode和tabColor举例,我们先看一下代码: from openpyxl.workbook impo..

th1522856954的博客 2073

Python常用模块openpyxl模块——用于处理excel表格(2)

print(wb.active)#获取excel的字符集编码print(wb.encoding)print(wb.properties)mySheet = wb.create_sheet(index=3, title=“Mysheet”)mySheet.title = “test”mySheet.sheet_properties.tabColor = “205EB2”#再添加一个Sheet工作表,下面测试删除test_sheet=wb.create_sheet(index=4,title=“test_she

2301_79600088的博客 1097

python自动化办公模块_Python 自动化办公Excel 模块openpyxl基本使用

openpyxl 介绍openpyxl 是一个直接可用于读写 xlsx 、xlsm、xltx、xltm 文件的 Python 内置库,借助它可以利用 Python 语法对本地 xlsx 文件进行自动化批量操作先说一下安装部分,如果小伙伴们用 Anaconda 作为 Python 环境的话,openpyxl 无需安装可直接使用;需要安装的话方法也非常简单 pip 工具一行命令即可pip insta...

weixin_39519741的博客 105

自动化办公-excelopenpyxl使用详解

本章介绍excel自动化办公——openpyxl库的使用,全文13000多字,基本涵盖所有知识点。

m0_71559726的博客 1万+

Python办公自动化Excel做表自动化:全网最全,看这一篇就够了!python操作Excel教程

0.Python Excel库对比 1.Python xlrd 读取 操作Excel 2.Python xlwt 写入 操作Excel 3.Python xlutils 修改 操作Excel 4.Python xlwings 读取 写入 修改 操作Excel 5.Python openpyxl 读取 写入 修改 操作Excel 6.Python xlswriter 写入 操作Excel 7.Python win32com 读取 写入 修改 操作Excel 8.Python pandas 读取 写入 操作Ex

超级大洋葱的博客 5万+

python自动化办公——python操作Excel、Word、PDF集合大全

Python操作Word、Excel、PPT、PDF\、复杂文件、通信软件(微信、邮件、飞书、钉钉)、图片 目录   章节一:python使用openpyxl操作excel     1、openpyxl库介绍     2、python怎么打开及读取表格内容?        1)Excel表格述语        2)打开Excel表格并获取表格名称        3)通过sheet名称获取表格        4)获取表格的尺寸大小        5)获取表格.......

数据分析与统计学之美 13万+

PythonExcel数据自动化填入日常办公的网页表单

前言 本篇内容,让你完全掌握Python是如何自动化办公的~ 一、环境准备 1.1 Python 3.7.0 1.2 Pycharm (Python 开发工具) 1.3 Selenium (处理网页表单工具类) 1.4 openpyxl (处理Excel工具类) selenium 安装:pip install selenium -i https://pypi.douban.com/simple/ openpyxlpy安装:pip install openpyxl ...

arron_12的博客 1万+

Python办公自动化|批量提取Excel数据

点击上方“Python爬虫与数据挖掘”,进行关注回复“书籍”即可获赠Python从入门到进阶共10本电子书今日鸡汤无情最是台城柳,依旧烟笼十里堤。大家好,又到了Python办公自动化系列...

pdcfighting的博客 5939

Python自动化办公openpyxl绘制图表

在后台回复【阅读书籍】即可获取python相关电子书~Hi,我是山月。之前给大家分享了openpyxl的基础和进阶教程:Python自动化办公openpyxl教程(基础)Python自动...

qq_45464895的博客 1万+

编程小白的自学笔记十六(python办公自动化操作EXCEL表格)

前面我们学了对表格还有列的增、删、改、查,今天我们再学习一些新的内容

m0_49914128的博客 1万+

python办公自动化python-docx,openpyxl——根据excel(word表格)填写word表格(excel)

系列文章 第一章 python办公自动化之批量修改docx——以修改含有表格的word文件为例 第二章 python办公自动化之批量生成docx——根据excel (word)生成word (excel) 第三章 python办公自动化python-docx,openpyxl——根据excel(word表格)填写word表格(excel)

摸鱼的店掌柜 1728
上一篇: 用Python写了一个俄罗斯方块游戏
熙熙ya~
博客等级 码龄6年 0粉丝 2原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值