• 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内拷贝表格
  • 相关阅读:
    SELECT INTO 和 INSERT INTO SELECT 两种表复制语句
    jquery各种滚动
    IE屏蔽鼠标右键、禁止复制粘贴等功能
    java高级---->Thread之BlockingQueue的使用
    java基础---->多线程之synchronized(六)
    java基础---->java中字符编码问题(一)
    java基础---->多线程之wait和notify(八)
    java基础---->多线程之ThreadLocal(七)
    java基础---->多线程之interrupt(九)
    java高级---->Thread之Exchanger的使用
  • 原文地址:https://www.cnblogs.com/wushaoyu/p/15265073.html
Copyright © 2020-2023  润新知