Python处理Excel文档

Python处理Excel文档

  使用Python来处理Excel文档及如何利用Python的函数和表达式操纵Excel文档中的数据。我们可以使用openpyxl模块来实现对Excel的操作。

  openpyxl是一个读写Excel 2010(xlsx/xlsm)文档的Python库,如果要处理更早格式的Excel文档,那么我们就需要其他的库。openpyxl是一个比较综合的工具,能够同时读取和修改Excel文档。XlsxWriter也是一个与Excel处理相关的知名项目,仅支持创建和写入Excel文档,但不支持读取Excel。那么我们就来使用openpyxl模块

使用openpyxl读取Excel文档

  Excel通过行和列表示一个单元格,其中行的坐标使用数字表示,列的坐标使用字母表示。例如,表格中左上角的单元格,其坐坐标为“A1",该单元格下方的单元格坐标为”A2",左边的单元格坐标为“B1"。

  在openpyxl中有三个不同层次的类,分别是Workbook、Worksheet和Cell。Workbook是对Excel工作薄的抽象,Worksheet是对表格的抽象,Cell是对单元格的抽象。每一个类都包含了若干的方法,以便于我们通过这些方法和属性来获取表格中的数据。

  例如,我们要打开一个Excel文档或创建一个Excel文档,都需要创建一个Workbook对象。我们需要获取Excel文档中的某一张表,应该先创建一个Workbook对象,然后使用该对象的方法得到一个Worksheet对象。如果要读取或修改某个单元格,我们需要先获得Worksheet对象,然后在获取表单元格的Cell对象。下面以以下文档为例记录,文档名称为exmaple.xlsx。

   一个Workbook对象代表一个Excel文档,因此,在操作一个Excel之前,应该先创建一个Workbook对象。对于创建一个新的Excel文档,直接进行Workbook类调用即可。对于读取一个已有的Excel文档,可以使用openpyxl模块的load_workbook函数。该函数接收多个参数,但只有filename参数为必传参数。filename可以是一个文件名,也可以是一个打开的文件对象。

>>> import openpyxl
>>> wb=openpyxl.load_workbook('/root/example.xlsx')

  调用完load_workbook函数,我们就得到了一个Workbook对象。Workbook对象有很多属性和方法。大部分斗鱼sheet相关。Workbook对象的部分属性如下:

  • active:获取活跃的Worksheet
  • read_only:是否已read_only模式打开Excel文档
  • encoding:文档的字符集编码
  • properties:文档的元数据,入标题,创建者,创建日期等
  • worksheets:以列表的形式返回所有的Worksheet。
>>> wb.active
<Worksheet "Sheet1">
>>> wb.read_only
False
>>> wb.encoding
'utf-8'
>>> wb.worksheets
[<Worksheet "Sheet1">]

  Workbook对象的方法大都与Worksheet相关。常用方法:

  • get_sheet_names:获取所有表格的名称
  • get_sheet_by_name:通过表格名称获取Worksheet对象
  • get_active_sheet:获取活跃的表格
  • remove_sheet:删除一个表格
  • create_sheet:创建一个空的表格
  • copy_worksheet:在Workbook内拷贝表格
原文地址:https://www.cnblogs.com/wushaoyu/p/15265073.html