Python对Excel操作详解.docx
- 格式:docx
- 大小:122.56 KB
- 文档页数:15
Python 对 Excel 操作详解文档摘要:本文档主要介绍如何通过 python 对OffiCe excel 和Xlutils模块。
另外还演示了如何通过Tcl tcom 包对excel 操作。
关键字:PythOn 、Excel 、xlrd 、xlwt 、xlutils进行读写操作,使用了 Xlrd 、XlWt、TCl 、tcom1 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 安装文件Pyth On-2.7.5.msi 后,直接双击就可以安装python 了,可以选择安装路径,我改为了,然后一路next就完成安装了,安装完成后在C盘下就多了一个文件夹Python2.7.5。
PythOn也是一种实时交互语言,可以通过自带的IDLE编写python语句并反馈回显信息,可以通过图1方式调出python IDLE。
Spirent C⅛n∣nUniCitiOnS U TF-IJMK)WlnPCaP*s Module Decs *j FythOn(eorħm⅛ιιd IirLeJ /€WireShark国1FythOil Γlanιι⅞lΞ ]所有程序¢) * ⅛ Pjrthg 2. 7UTIlnstall Fythein>L远程桌面连接也可以在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; ”,主要路径后面要加”;”常规 计算机名』硬件要讲行大冬数改动I 燃必须件 I环境变星通)I错俣報告⑥P ---------------------------------------------分号表面这是一个路径的结束, 此时无论在哪个路径下都可以执行PythOn 调出交互命令行。
i⅛⅛S性能观觉效果」处理器计划I 内存使用值新建(⅛)用户配青丈件与您登录有关的臺面役置启动和故睦恢复系统启动I 系统失败和调试信息仝 ≡f: ∖Pγtho∏rτ 5 ; E : ∖TCIAbin 工:⅝TlU COM : EXE : BAT : CMD : TOS : VBE;..9G≡fiFrjro-JDST_C. .. WOi∏⅛五JJF 五…2 OS 1⅛iruiMs HT P⅛THEXf 图23 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 不再是一个语句,而是一个函数,所以如果想要输出 中求1和10的和或者变量之间的加减乘除运算需要使用 达式就可以了,如图 3所示。
»> >» 钛≡1a»> L ⅛a "t, T.Z &»> b ■10»>SL-E»> 10 a*b»> LQl »>ID* Io-Io/10 如果对某个函数的作用不了解,可以通过 help 函数查看,如help (math.pow )本文只是带领大家入门,PythOn 的其他语法可以参考其它资料学习。
a ,用法为 Print(a))。
在 Tcl expr 命令,在Python 则直接写表PythOn 很多功能都是靠模块实现的,比如 ftplib 模块负责ftp 功能的实现,math 模块囊括了基本数学公式,如果我们想要引用这些模块,需要使用命令 import 模块名称,如 import ftplib 和import math 。
如果想使用math 模块中的函数floor ,可以使用命令 math.floor (28.5) ,语法为"模块.函数”,如果想要直接使用 floor函数,必须提前引用,命令为from math import floor ,那样就可以直接使用命令floor(28.5) TO 如果觉得 floor这个函数名称太长了或者不好记忆,可以通过变量引用函数,如 f = math.floor,这样变量f 就充当了 math.floor 的功能了。
上面提到的模块ftplib 和math 都是在python 安装的 时候已经安装了, 而接下来重点介绍的 Xlrd 、XlWt 、xlutils模块都不是随PythOn 安装的。
需要手动下载安装,第 5节会详细介绍模块的安装。
当成功导入了某个模块后,可以通过函数dir (模块名)查看这个模块包含哪些函数,4 Tcl对Excel操作在使用Python对excel操作之前搜索过如何通过TCl对excel操作,TCl本身没有提供对excel操作的命令,可以通过tcom外部包来调用excel的接口实现,但是个人感觉实现起来比较麻烦,msdn网站上虽然提供了excel的接口,但示例都是针对VB脚本语言写的,Tcl如果想要调用的话还需要转换,如下是一段简单的Tcl代码展示如何通过tcom对excel进行操作,但也花了本人不少时间琢磨。
#加载tcom包PaCkage require tcomSet file name "F:/1.xls"#创建com实例,打开工作表,下面四句都是套路Set excel [::tcom::ref CreateObjeCt "Excel.Applicati on"]Set workbooks [$excel Workbooks]Set workbook [$WorkbookS OPen $fiIe name]Set WOrkSheetS [$workbook Worksheets]# "sheet1"为Sheet 的名称Set WOrkSheet [$WOrkSheetS Item "sheet1"]#创建单元格对象Set cells [$WOrkSheet Cells]#给单元格B2赋值为“ hsdf ”$cells Item 2 B "hsdf"#获取Sheet的个数并赋值给SheetCOUntSet SheetCO Un t [$WOrkSheetS Count]#获取A1至A15单元的范围对象Set range [$WOrkSheet Range A1 A15]#给A1至A15单元赋值$range Value2 "abcdefg"#获取A1至A15的值,并赋值给A,A是一个列表listSet A [$range Value2]#设置单元的背景色Set in terior [$ra nge In terior]$in terior Color [expr 0x00FFE0]#设置单元的前景色和字体大小、加粗、斜体、字体Set fon t [$ra nge Font]$font Color [expr OXFFoo00]$font Bold 1$font SiZe 10$font ItaIiC 0$font Name "华文行楷"#设置单元格的宽度为自动调整Set en tire [$ra nge En tireColu mn]$en tire AUtOFit#保存文档$Workbook SaVe#显示Excel$excel ViSibIe 15 xlwt和口xlrd模块的安装Python也是通过导入外部模块来实现对excel的操作,Xlrd负责对excel的读取,xlwt负责对excel的写入,xlutils 依赖于Xlrd和xlwt,可以复制excel文件。
这三个包都可以在网站http://www.pyth。
/ 下载。
本文使用的xlrd 版本为0.8.0 ,xlwt版本为0.7.5。
从网上下载好xlrd和xlwt后,解压缩到C:\PythOn2.7.5∖Lib 下,此时在命令行下输入import xlrd 或者import xlwt,会出现提示ImportError: No module namedxlwt ,这表明还没有安装xlwt模块。
python导入一个模块的过程要求有一个叫做“路径搜索”的操作过程,即是在文件系统“预先设定的区域”查找模块文件以加载模块的过程。
这个预先设定的区域其实是PythOn搜索路径的一组目录。
这个目录保存在sys.path中,如果你想知道PythOn导入模块时会在哪些路径搜索模块,你可以执行以下命令查看搜索路径目录:>>> import SyS>>> SyS.path[DWpytho n∖∖shell∖∖ 2.7.5',C∖∖Pytho n2.7.5∖∖Lib∖∖idlelib',C∖∖Pytho n2.7.5∖∖lib∖∖site-packages∖∖setuptools-1.3-py2.7.egg',C∖∖Pytho n2.7.5∖∖lib∖∖site-packages∖∖xlutils-1.7.0-py2.7.egg',C∖∖Wi ndows∖∖system32∖∖pytho n27.zip',C∖∖Python2 .7.5∖∖DLLs',C∖∖Pytho n2.7.5∖∖lib',C∖∖Pytho n2.7.5∖∖lib∖∖plat-wi n', CWPytho n2.7.5∖∖lib∖∖lib-tk',C∖∖Pytho n2.7.5',C∖∖Pytho n2.7.5∖∖lib∖∖site-pa CkageS','C:\\Pytho n2.7.5∖∖lib∖∖site-packages∖∖wi n32',C∖∖Pyth on 2.7.5∖∖lib∖∖sit e-packages∖∖wi n32∖∖lib',C∖∖Pytho n2.7.5∖∖lib∖∖site-packages∖∖Pytho nwin'] 在sys.path中找到一个路径为CWPython2.7.5∖∖lib' ,所以我们把模块解压缩到这个目录下。