详解Python操作Excel之openpyxl

 更新时间:2022年01月13日 08:45:05   作者:黑伴白  
这篇文章主要为大家介绍了Python操作Excel的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助

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:获取当前活跃的Worksheet
  • worksheets:以列表的形式返回所有的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)

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注脚本之家的更多内容!

相关文章

  • 关于Python字符编码与二进制不得不说的一些事

    关于Python字符编码与二进制不得不说的一些事

    这篇文章主要给大家介绍了关于Python字符编码与二进制不得不说的一些事,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • 详解python中的lambda与sorted函数

    详解python中的lambda与sorted函数

    这篇文章主要介绍了python中的lambda与sorted函数的相关资料,帮助大家更好的理解和学习python,感兴趣的朋友可以了解下
    2020-09-09
  • 在Python中使用itertools模块中的组合函数的教程

    在Python中使用itertools模块中的组合函数的教程

    这篇文章主要介绍了在Python中使用itertools模块中的组合函数的教程,来自IBM官方技术文档,需要的朋友可以参考下
    2015-04-04
  • 将python运行结果保存至本地文件中的示例讲解

    将python运行结果保存至本地文件中的示例讲解

    今天小编就为大家分享一篇将python运行结果保存至本地文件中的示例讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07
  • Windows 下python3.8环境安装教程图文详解

    Windows 下python3.8环境安装教程图文详解

    这篇文章主要介绍了Windows 下python3.8环境安装教程图文详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-03-03
  • Python 内置方法和属性详解

    Python 内置方法和属性详解

    这篇文章主要为大家介绍了Python 内置方法和属性,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2021-12-12
  • Python学习之configparser模块的使用详解

    Python学习之configparser模块的使用详解

    ConfigParser是用来读取配置文件的包。这篇文章主要通过一些简单的实例带大家了解一下ConfigParser模块的具体使用,感兴趣的小伙伴跟随小编一起了解一下
    2023-01-01
  • Python快速排序算法实例分析

    Python快速排序算法实例分析

    这篇文章主要介绍了Python快速排序算法,简单说明了快速排序算法的原理、实现步骤,并结合具体实例分析了Python实现快速排序的相关操作技巧,需要的朋友可以参考下
    2017-11-11
  • 使用python获取csv文本的某行或某列数据的实例

    使用python获取csv文本的某行或某列数据的实例

    下面小编就为大家分享一篇使用python获取csv文本的某行或某列数据的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-04-04
  • 对Python中GIL(全局解释器锁)的一点理解浅析

    对Python中GIL(全局解释器锁)的一点理解浅析

    首先需要明确的一点是GIL并不是Python的特性,它是在实现Python解析器(CPython)时所引入的一个概念,下面这篇文章主要给大家介绍了关于对Python中GIL的一点理解,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2022-05-05

最新评论