Python Module_openpyxl_处理Excel表格

目录

  • 目录
  • 前言
  • 软件系统
  • Install openpyxl module
  • Sample code
  • load_workbook加载Excel文件
    • wbObjectget_sheet_names 获取Excel表格名
    • WorkbooktableName 定位Excel表
      • WbObjectget_sheet_by_namesheetName 定位Excel表
    • Worksheetrows和Worksheetcolumns获取表格的行列值
      • 获取Worksheet的行列数目
      • 通过切片运算符划分表格区域
    • get_column_letter将一个列的索引转化为列的字母
    • Worksheetcellvalue 定位单元格的数据值
      • 直接给单元格赋值
      • Woeksheetget_cell_collection 获取全部的单元格数据值
    • enumerateiterators获取迭代器的索引和元素
    • Workbooksave保存所有操作并生成新的Excel文件
  • Workbook创建一个新的Excel文件
    • wbObjectcreate_sheet 创建一个Excel表格
    • Worksheetappend 逐行追加数值到单元格
    • ExcelWriter 将Workbook对象写入Excel文件
  • 最后

前言

Python处理Excel表格有多种方法,其中对于.xlsx后缀的Excel版本而言openpyxl绝对是一个非常棒的选择。在openpyxl中,一个Excel文件就是一个Workbook,一张Excel文件中的表就是一个Worksheet。当我们需要对一个Excel文件进行处理的时候,需要先获取到一个Workbook对象,再获取到一个Worksheet对象,对Worksheet对象中rows、columns进行数据处理,最后通过Workbook.save()方法将Workbook对象的内容写入到磁盘中。或者可以使用Openpyxl内置的ExcelWriter()方法来关联Workbook对象,最终实现写入。

软件系统

  • 系统
    • Windows 8.1
  • 软件
    • Python 3.4.3

Install openpyxl module

使用Python3.4.3自带的软件包管理工具easy_install.exe来安装openpyxl模块
Run(Ctrl+r) cmd

Check:安装后导入openpyxl模块不会触发ImportError

Sample code

Documentation:http://openpyxl.readthedocs.org

load_workbook()加载Excel文件

我们将一个Excel文件称之为一个workbook,workbook中又包含了许多的worksheet(工作表)。我们可以通过workbook[‘sheetName’]来定位一个worksheet。
将文件导入到内存

getwb是一个Workbook对象,Workbook()是最基本的一个类,能够在内存中创建文件最后将文件内容写进磁盘。

wbObject.get_sheet_names() 获取Excel表格名

Workbook[tableName] 定位Excel表

Openpyxl模块支持类似字典键值对映射的方式,来获取表格的内容

WbObject.get_sheet_by_name(sheetName) 定位Excel表

Worksheet.rows和Worksheet.columns获取表格的行列值

获取Worksheet的行列数目

通过切片运算符划分表格区域

因为Worksheet.rows和Worksheet.columns都是Tuple数据类型,支持使用切片运算符。

1.获取sheetContent的前两列内容

2.划分出一个二维区域

get_column_letter将一个列的索引转化为列的字母

get_column_letter(idx)
Convert a column index into a column letter
(3 -> ‘C’)

Worksheet.cell().value 定位单元格的数据值

基于给定的坐标(A1)返回一个单元格对象。
cell(coordinate=None, row=None, column=None, value=None) method of openpyxl.worksheet.worksheet.Worksh
Returns a cell object based on the given coordinates.

注意:Excel表格的数据常常在其两边都伴有空格符,需要使用Str.strip()来去除多余的空格符。

直接给单元格赋值

将A列全部置为None

注意:当你为单元格赋值

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2015年11月21日
下一篇 2015年11月21日

相关推荐