Python对Excel操作教程
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Python 对Excel 操作详解文档摘要:
本文档主要介绍如何通过python 对office excel 进行读写操作,使用了xlrd 、xlwt 和xlutils 模块。另外还演示了如何通过Tcl tcom 包对excel 操作。
关键字:
Python、Excel、xlrd 、xlwt 、xlutils、TCl 、tcom
1 Python 简介
Python 是一种面向对象、直译式电脑编程语言,具有近二十年的发展历史,成熟且稳定。它包含了一组完善而且容易理解的标准库,能够轻松完成很多常见的任务。它的语法简捷和清晰,尽量使用无异义的英语单词,与其它大多数程序设计语言使用大括号不一样,它使用缩进来定义语句块。
与Scheme、Ruby、Perl 、Tcl 等动态语言一样,Python 具备垃圾回收功能,能够自动管理存储器使用。它经常被当作脚本语言用于处理系统管理任务和网络程序编写,然而它也非常适合完成各种高级任务。Python 虚拟机本身几乎可以在所有的作业系统中运行。使用一些诸如py2exe、PyPy、PyInstaller 之类的工具可以将Python 源代码转换成可以脱离Python 解释器运行的程序。
2 Python 安装
Python 目前的版本已经更新到3.4.0 ,本文使用的版本为2.7.5 ,所有的版本都可以在python 官网下载,至于 2.x 和 3.x 版本的具体区别也可以在官网查看。
从官网下载了python 2.7.5 安装文件后,直接双击就可以安装python
Python 也是一种实时交互语言,可以通过自带的IDLE 编写python 语句并反馈回显信息,可以通过图 1 方式调出python IDLE 。
图1
也可以在cmd下输入python ,但默认情况下python并没有添加到windows 环境变量中,导致在cmd下输入python的时候出现提示“ 'python'不是内部或外部命令,也不是可运行的程序或批处理文件。”,windows 下可执行文件在运行时首先在当前目录下搜索,因为进入cmd 下默认路径一般为C:\Documents and Settings\Administrator> ,而在这个路径下是找不到python 的,所以提示出错,可以进入到python 安装目录下,然后执行python 就可以进入交互命令行模式下。如果懒的每次都进入python 安装,此时需要将python 安装路径添加到系统变量中,然后windows 在执行命令的时候会去环境变量中查找路径,具体配置如图 2 所示,在Path 中添加python 的安装路径
“C:\Python2.7.5; ”,主要路径后面要加”;”分号表面这是一个路径的结束,此时无论在哪个路径下都可以执行python 调出交互命令行。
图2
3 Python 语法入门
在Python 简介中提到Python 是一种直译式电脑编程语言,体现在语法中,如要将变量 a 赋值为1,Tcl 使用命令%set a 1(本文中为了区分Tcl 和Python 的命令,Tcl 命令前会加上“ %”,否则默认为Python 命令),在python 中命令为a = 1,输出a的值可以直接输入a,也可以通过print语句输出a的值,
命令为print a (在python 3.0 以后版本中,print 不再是一个语句,而是一个函数,所以如果想要输出a,用法为print(a))。在Tel中求1和10的和或者变量之间
的加减乘除运算需要使用expr 命令,在python 则直接写表达式就可以了,如图 3 所示。
图3
Python 很多功能都是靠模块实现的, 比如ftplib 模块负责ftp 功能的实现, math 模块囊括了基本数学公式,如果我们想要引用这些模块,需要使用命令import 模块名称,如import ftplib 和import math 。如果想使用math 模块中的函数
floor ,可以使用命令math.floor(28.5) ,语法为“模块. 函数”, 如果想要直接使用floor 函数,必须提前引用,命令为from math import floor , 那样就可以直接使用命令floor(28.5) 了。如果觉得floor 这个函数名称太长了或者不好记忆,可以通过变量引用函数,如 f = math.floor ,这样变量 f 就充当了math.floor的功能了。上面提到的模块ftplib 和math都是在python 安装的时候已经安装了,而接下来重点介绍的xlrd 、xlwt 、xlutils 模块都不
是随python 安装的。需要手动下载安装,第5节会详细介绍模块的安装。
当成功导入了某个模块后,可以通过函数dir ( 模块名) 查看这个模块包含哪些函数,如果对某个函数的作用不了解,可以通过help 函数查看,如
help(math.pow)
本文只是带领大家入门, python 的其他语法可以参考其它资料学习。
4 Tcl 对Excel 操作
在使用python 对exeel 操作之前搜索过如何通过Tel 对exeel 操作, Tel 本身没有提供对excel 操作的命令,可以通过tcom 外部包来调用excel 的接口实现,但是个人感觉实现起来比较麻烦,msdn网站上虽然提供了excel的接口,但示例都是针对VB脚本语言写的,Tel如果想要调用的话还需要转换,如下是一段简单的Tcl 代码展示如何通过tcom 对excel 进行操作,但也花了本人不少时间琢磨。
# 加载tcom 包
package require tcom
set filename "F:/1.xls"
#创建com实例,打开工作表,下面四句都是套路
set excel [::tcom::ref createobject "Excel.Application"] set workbooks [$excel Workbooks]
set workbook [$workbooks Open $filename]
set worksheets [$workbook Worksheets]
# "sheet1" 为sheet 的名称
set worksheet [$worksheets Item "sheet1"]
# 创建单元格对象
set cells [$worksheet Cells]
#给单元格B2赋值为“ hsdf ”
$cells Item 2 B "hsdf"
# 获取sheet 的个数并赋值给sheetCount
set sheetCount [$worksheets Count]
#获取A1至A15单元的范围对象
set range [$worksheet Range A1 A15]
#给A1至A15单元赋值
$range Value2 "abcdefg"
#获取A1至A15的值,并赋值给A,A是一个列表list