您现在的位置是:主页 > Web前端技术 > Web前端技术

Python操作Excel方法中openpyxl怎么用开发技术

IDCBT2022-01-14服务器技术人已围观

简介这篇文章主要介绍了Python操作Excel方法中openpyxl怎么用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python操作Excel方法中openpyxl怎么用文章都会有所

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

      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)

          标签:

          很赞哦! ()

本栏推荐