广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python怎么用openpyxl模块操作Excel
  • 421
分享到

Python怎么用openpyxl模块操作Excel

2023-06-30 14:06:49 421人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

这篇文章主要介绍了python怎么用openpyxl模块操作excel的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python怎么用openpyxl模块操作Excel文章都会有所收获,下面我们一起来看看吧。正

这篇文章主要介绍了python怎么用openpyxl模块操作excel的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python怎么用openpyxl模块操作Excel文章都会有所收获,下面我们一起来看看吧。

正式开始前依旧是模块的安装,使用如下命令即可实现:

pip install openpyxl

官方对于该库的描述是:

A Python library to read/write Excel 2010 xlsx/xlsm files

一款用于读写 Excel 2010 xlsx/xlsm 文件的库。

1.打开已有 Excel 文件

拿到该库之后,直接尝试打开一个本地 Excel ,然后才能对其中的数据进行控制。

from openpyxl  import load_workbookwb = load_workbook('测试表格.xlsx')# 输出# <openpyxl.workbook.workbook.Workbook object at 0x00000195680F96D0>

继续编码前还是需要了解一些关于 Excel 的相关知识点,如下所示:

  • Excel 中列名是字母,行号是数字,例如定第一个单元格是 A1,然后是 A2,接下来是A3;

  • Excel 中有工作簿,工作表,单元格三个概念组成,对应到 openpyxl 中就是 Workbook 类,Worksheet 类,Cell 类。

操作 Excel 基本遵循三步走策略:

  • 打开 Excel,产生 Workbook 对象;

  • 获取表格对象,即 Worksheet 对象;

  • 操作表格中的单元格对象,即 Cell 对象。

有这些概念之后,你会发现后续的代码就会变得极容易理解。

2.创建一个 Excel 文件,并修改 sheet

接下来的代码将会创建一个 Excel 文件,并将第一个默认 sheet 修改为【测试】

import openpyxlif __name__ == '__main__':    wb = openpyxl.Workbook()    ws = wb.active    # 更改第一个 sheet 名称    ws.title = "测试"    # 保存    wb.save('example.xlsx')

在 Python 文件的运行目录会生成如下文件,打开关注第一个 sheet 即可。

Python怎么用openpyxl模块操作Excel

如果希望创建第二个表格页(sheet),继续在 Workbook 对象中追加 sheet 即可。

import openpyxlif __name__ == '__main__':    wb = openpyxl.Workbook()    ws = wb.active    # 更改第一个 sheet 页名称    ws.title = "Sheet1"    # 新增第二个 sheet 页    ws2 = wb.create_sheet("Sheet2")    # 新增第三个 sheet 页    # 将 create_sheet() 函数中的第二个参数定义为 0,表示该 sheet 在最前面    ws3 = wb.create_sheet("Sheet3", 0)    # 保存    wb.save('example.xlsx')

追加 sheet 使用的函数是 create_sheet() ,在使用的时候,可以根据第二个参数进行顺序设置。

Python怎么用openpyxl模块操作Excel

如果你希望对 sheet 页签进行更细节的设置,可以进行属性配置,例如修改 sheet 页签背景

import openpyxlif __name__ == '__main__':    wb = openpyxl.Workbook()    ws = wb.active    # 更改第一个 sheet 页名称    ws.title = "Sheet1"    ws.sheet_properties.tabColor = "03a9f4"    # 新增第二个 sheet 页    ws2 = wb.create_sheet("Sheet2")    # 新增第三个 sheet 页    # 将 create_sheet() 函数中的第二个参数定义为 0,表示该 sheet 在最前面    ws3 = wb.create_sheet("Sheet3", 0)    # 保存    wb.save('example.xlsx')

Python怎么用openpyxl模块操作Excel

3.选择 sheet 的不同方式

使用 wb["Sheet1"] 可以通过类字典模式进行 sheet 读取,还可以使用 get_sheet_by_name() 方法进行调用,但是该方法已被弃用,建议掌握第一种用法即可。

import openpyxlif __name__ == '__main__':    wb = openpyxl.Workbook()    ws = wb.active    # 更改第一个 sheet 页名称    ws.title = "Sheet1"    ws_1 = wb["Sheet1"]    ws_1_1 = wb.get_sheet_by_name("Sheet1")  # 该方法将被弃用,建议用上述形式调用    print(ws_1)    print(ws_1_1)    # wb.save('example.xlsx')

4.Worksheet对象

Worksheet 对象即表格对象,用于得到单元格中的数据,修改表格中的内容。

优先学习的相关属性如下所示:

  • title:表格的标题;

  • dimensions:表格数据区域大小;

  • max_row:表格的最大行;

  • min_row:表格的最小行;

  • max_column:表格的最大列;

  • min_column:表格的最小列;

  • rows:按行获取单元格(Cell)对象 ,返回生成器;

  • columns:按列获取单元格(Cell对象),返回生成器。

具体代码如下所示,其中用到的表格参考下述截图:

from openpyxl  import load_workbookwb = load_workbook('测试表格.xlsx')if __name__ == '__main__':    ws = wb.active    # 更改第一个 sheet 页名称    ws.title = "My_Sheet"    ws_1 = wb["My_Sheet"]    print(ws_1.title)  # 获取标题    print(ws_1.dimensions)  # 有数据的区域大小,无数据是 A1:A1    print(ws_1.max_row) # 最大行数    print(ws_1.min_row) # 最小行数    print(ws_1.max_column)    print(ws_1.min_column)    print(ws_1.rows)    print(ws_1.columns)

Python怎么用openpyxl模块操作Excel

除属性外,Worksheet 对象的方法如下所示 Worksheet方法如下:

  • iter_rows:按行获取所有单元格,其值可以调用 Cell 的属性(min_row, max_row, min_col, max_col);

  • iter_columns:按列获取所有的单元格

  • append:在表格末尾添加数据

  • merged_cells:合并多个单元格

  • unmerged_cells:移除合并的单元格

Worksheet 对象的属性和方法基本都会返回 Cell对象,即单元格对象。

5.Cell 对象

Cell对象比较简单,常用的属性如下:

  • row :单元格所在的行

  • column:单元格坐在的列

  • value:单元格的值

  • coordinate:单元格的坐标

from openpyxl import load_workbookwb = load_workbook('测试表格.xlsx')if __name__ == '__main__':    ws = wb.active    for item in ws.rows:        print(item)  # 按照行输出        print(item[0].value)  # 输出单元格的值

操作修改单元格数据 获取单元格之后,就可以对其中的值进行操作,例如下述代码

from openpyxl import load_workbookwb = load_workbook('测试表格.xlsx')if __name__ == '__main__':    ws = wb.active    # 输出修改前    for item in ws.rows:        print(item)  # 按照行输出        print(item[0].value)  # 输出单元格的值        item[0].value = 1    # 输出修改后的值,注意不保存文件,数据不会存储    for item in ws.rows:        print(item[0].value)  # 输出单元格的值    # wb.save('example.xlsx')

单元格内容修改完毕之后,需要使用 wb.save() 方法才可以存储文件修改之后的内容。

使用行列式定位单元格 使用工作表的 cell() 方法,可以定位到单元格,具体用法如下所示

from openpyxl import load_workbookwb = load_workbook('测试表格.xlsx')if __name__ == '__main__':    ws = wb.active    # 输出修改前    for item in ws.rows:        print(item)  # 按照行输出        print(item[0].value)  # 输出单元格的值        item[0].value = 1    # 输出修改后的值,注意不保存文件,数据不会存储    for item in ws.rows:        print(item[0].value)  # 输出单元格的值    # 直接定位单元格    c = ws.cell(row=2, column=3)    print(c)    print("单元格A2,B3里面的内容是",c.value)    wb.save('example.xlsx')

6.单元格插入图像

使用如下代码,可以在Excel 中的单元格内添加图片。 在正式编码前,先导入如下模块

from openpyxl.drawing.image import Image

接下来就可以在对应的单元格中去添加相应的图片了,具体代码如下所示,其中比较重要的是 add_image() 方法。

 # 创建图像,参数是图片路径img = Image('cup_PNG2001.png')# add_image(图片,要添加单元格的位置)ws.add_image(img, 'A2')wb.save('example.xlsx')

7.设置单元格样式

在 Excel 中,我们可以针对单元格样式进行操作,例如加粗,倾斜,背景色。

需要提前导入的相关类:

from openpyxl.styles import Font, colors, Alignment

接下来可以修改相应的字体:

from openpyxl import load_workbookfrom openpyxl.styles import Font, colors, Alignmentwb = load_workbook('测试表格.xlsx')if __name__ == '__main__':    ws = wb.active     c_style = Font(size=20, bold=True, italic=True, color='ff0000')    ws['A1'].font = c_style    wb.save('example.xlsx')

运行结果如下所示,注意 A1 单元格相关变化。在这里需要注意代码中只要存在一处错误,新的样式就不会起到作用。

Python怎么用openpyxl模块操作Excel

其它内容你可自行进行扩展,例如设置对齐方式

ws['B1'].alignment = Alignment(horizontal='center', vertical='center')

Python怎么用openpyxl模块操作Excel

行高,列宽,单元格合并与取消合并,这些内容由你自行完成。

关于“Python怎么用openpyxl模块操作Excel”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“Python怎么用openpyxl模块操作Excel”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网Python频道。

--结束END--

本文标题: Python怎么用openpyxl模块操作Excel

本文链接: https://www.lsjlt.com/news/329491.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python怎么用openpyxl模块操作Excel
    这篇文章主要介绍了Python怎么用openpyxl模块操作Excel的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python怎么用openpyxl模块操作Excel文章都会有所收获,下面我们一起来看看吧。正...
    99+
    2023-06-30
  • Python 操作 Excel 之 openpyxl 模块
    目录1.打开已有 Excel 文件2.创建一个 Excel 文件,并修改 sheet3.选择 sheet 的不同方式4.Worksheet对象5.Cell 对象6.单元格插入图像7....
    99+
    2022-11-11
  • Python 操作Excel-openpyxl模块用法实例
    目录openpyxl 的用法实例1.1 Openpyxl 库的安装使用1.2 Excel 的新建、读取、保存1.2.1 新建保存工作簿(覆盖创建)1.2.2 读取保存工作簿1.2.3...
    99+
    2023-05-19
    Python Excel-openpyxl模块使用 Excel-openpyxl用法
  • python操作Excel神器openpyxl怎么使用
    Excel xlsxxlsx 是 Microsoft Excel 使用的开放 XML 电子表格文件格式的文件扩展名。 xlsm 文件支持宏。 xlsx 是专有的二进制格式,而 xlsx 是基于 Office Open XML 格式的。$ s...
    99+
    2023-05-14
    Python Excel openpyxl
  • Python操作Excel方法中openpyxl怎么用
    这篇文章主要介绍了Python操作Excel方法中openpyxl怎么用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python操作Excel方法中openpyxl怎么用文章都会有所收获,下面我们一起来看看吧...
    99+
    2023-06-26
  • Python使用openpyxl模块处理Excel文件
    首先贴出四种方法适用范围比较: 注释:Excel 2003 即XLS文件有大小限制即65536行256列,所以不支持大文件。而Excel 2007以上即XLSX文件的限制则为1048...
    99+
    2022-11-11
  • python操作excel之openpyxl模块读写xlsx格式使用方法详解
    openpyxl模块支持.xls和.xlsx格式的excel创建,但是只支持.xlsx格式的读取操作,不支持.xls的读取(可以使用xlrd模块来读取,写入操作也可使用xlwt模块)...
    99+
    2022-12-21
    python使用openpyxl模块读写xlsx格式 openpyxl创建新的excel openpyxl获取默认工作表 openpyxl删除工作表 openpyxl单元格操作
  • Python中怎么使用openpyxl模块
    这篇文章主要介绍“Python中怎么使用openpyxl模块”,在日常操作中,相信很多人在Python中怎么使用openpyxl模块问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python中怎么使用open...
    99+
    2023-06-27
  • Python如何使用openpyxl模块处理Excel文件
    这篇文章主要介绍“Python如何使用openpyxl模块处理Excel文件”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python如何使用openpyxl模块处理Excel文件”文章能帮助大家解...
    99+
    2023-06-30
  • python操作Excel神器openpyxl如何使用
    今天小编给大家分享一下python操作Excel神器openpyxl如何使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。E...
    99+
    2023-07-06
  • 怎么在python中利用openpyxl和xlsxwriter对Excel进行操作
    本篇文章给大家分享的是有关怎么在python中利用openpyxl和xlsxwriter对Excel进行操作,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。简介Python中操作...
    99+
    2023-06-06
  • Python利用xlrd 与 xlwt 模块操作 Excel
    目录Python 操作 Excel打开Excel文件读取数据行的操作获取所有行数据列的操作单元格操作Python 操作 Excel 本篇博客介绍一种 Python 操作 Excel ...
    99+
    2022-11-12
  • 怎么在Python中安装openpyxl模块
    这篇文章给大家介绍怎么在Python中安装openpyxl模块,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。步骤如下:官网https://pypi.org/project/jdcal/#files下载jdcal安装压缩...
    99+
    2023-06-14
  • Python怎么利用xlrd和xlwt模块操作Excel表格
    这篇文章主要为大家展示了“Python怎么利用xlrd和xlwt模块操作Excel表格”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Python怎么利用xlrd和xlwt模块操作Excel表格”...
    99+
    2023-06-29
  • 使用Python读取和修改Excel文件(基于xlrd、xlwt和openpyxl模块)
    目录1、使用xlrd模块对xls文件进行读操作1.1 获取工作簿对象1.2 获取工作表对象1.3 获取工作表的基本信息1.4 按行或列方式获得工作表的数据2、使用xlwt模块对xls...
    99+
    2022-11-12
  • Python如何利用xlrd和xlwt模块操作Excel表格
    目录简介:安装:初始数据:xlrd使用:xlwt使用:xlwt使用示例2:总结 简介: xlrd和xlwt是python的第三方库,xlrd模块实现对excel文件内容读取...
    99+
    2022-11-13
  • 利用Python中xlwt模块操作excel的示例详解
    目录一、安装二、创建表格并写入三、设置单元格样式四、设置单元格宽度五、设置单元格背景色六、设置单元格内容对齐方式七、单元格添加超链接八、单元格添加公式九、单元格中输入日期十、合并行和...
    99+
    2022-11-12
  • Windows下Python使用Pandas模块操作Excel文件的教程
    安装Python环境 ANACONDA是一个Python的发行版本,包含了400多个Python最常用的库,其中就包括了数据分析中需要经常使用到的Numpy和Pandas等。更重要的是,不论在哪个平台上,都...
    99+
    2022-06-04
    模块 操作 文件
  • python shutil模块怎么操作文件
    这篇文章主要讲解了“python shutil模块怎么操作文件”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“python shutil模块怎么操作文件”吧!1、复制文件和文件夹,调用 shu...
    99+
    2023-06-30
  • python怎么用xlsxwriter模块处理excel文件
    本篇内容介绍了“python怎么用xlsxwriter模块处理excel文件”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!模块安装:pip&...
    99+
    2023-06-30
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作