Python对E某cel操作教学教育资料.doc

上传人:一*** 文档编号:809468 上传时间:2019-07-16 格式:DOC 页数:17 大小:245KB
返回 下载 相关 举报
Python对E某cel操作教学教育资料.doc_第1页
第1页 / 共17页
Python对E某cel操作教学教育资料.doc_第2页
第2页 / 共17页
点击查看更多>>
资源描述

《Python对E某cel操作教学教育资料.doc》由会员分享,可在线阅读,更多相关《Python对E某cel操作教学教育资料.doc(17页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、PythonPython 对对 ExcelExcel 操作详解操作详解文档摘要:文档摘要:本文档主要介绍如何通过 python 对 office excel 进行读写操作,使用了 xlrd、xlwt 和 xlutils 模块。另外还演示了如何通过 Tcl tcom 包对 excel 操作。关键字:关键字:Python、Excel、xlrd、xlwt、xlutils、TCl、tcom1Python 简介简介Python 是一种面向对象、直译式电脑编程语言,具有近二十年的发展历史,成熟且稳定。它包含了一组完善而且容易理解的标准库,能够轻松完成很多常见的任务。它的语法简捷和清晰,尽量使用无异义的英语

2、单词,与其它大多数程序设计语言使用大括号不一样,它使用縮进来定义语句块。与 Scheme、Ruby、Perl、Tcl 等动态语言一样,Python 具备垃圾回收功能,能够自动管理存储器使用。它经常被当作脚本语言用于处理系统管理任务和网络程序编写,然而它也非常适合完成各种高级任务。Python 虚拟机本身几乎可以在所有的作业系统中运行。使用一些诸如 py2exe、PyPy、PyInstaller 之类的工具可以将Python 源代码转换成可以脱离 Python 解释器运行的程序。2Python 安装安装Python 目前的版本已经更新到 3.4.0,本文使用的版本为2.7.5,所有的版本都可以在

3、 python 官网 http:/www.python.org/下载,至于 2.x 和 3.x 版本的具体区别也可以在官网查看。从官网下载了 python 2.7.5 安装文件 python-2.7.5.msi 后,直接双击就可以安装 python 了,可以选择安装路径,我改为C:Python2.7.5了,然后一路 next 就完成安装了,安装完成后在C 盘下就多了一个文件夹 Python2.7.5。Python 也是一种实时交互语言,可以通过自带的 IDLE 编写python 语句并反馈回显信息,可以通过图 1 方式调出 python IDLE。图 1也可以在 cmd 下输入 python,

4、但默认情况下 python 并没有添加到 windows 环境变量中,导致在 cmd 下输入 python 的时候出现提示“python 不是内部或外部命令,也不是可运行的程序或批处理文件。 ” ,windows 下可执行文件在运行时首先在当前目录下搜索,因为进入 cmd 下默认路径一般为 C:Documents and SettingsAdministrator,而在这个路径下是找不到 python 的,所以提示出错,可以进入到 python 安装目录下,然后执行 python就可以进入交互命令行模式下。如果懒的每次都进入 python 安装,此时需要将 python 安装路径添加到系统变量

5、中,然后 windows 在执行命令的时候会去环境变量中查找路径,具体配置如图 2 所示,在Path 中添加 python 的安装路径“C:Python2.7.5;” ,主要路径后面要加”;”分号表面这是一个路径的结束,此时无论在哪个路径下都可以执行 python 调出交互命令行。图 23Python 语法入门语法入门在 Python 简介中提到 Python 是一种直译式电脑编程语言,体现在语法中,如要将变量 a 赋值为 1,Tcl 使用命令%set a 1(本文中为了区分 Tcl 和 Python 的命令,Tcl 命令前会加上“%” ,否则默认为 Python 命令) ,在 python

6、中命令为 a = 1,输出 a 的值可以直接输入 a,也可以通过 print 语句输出 a 的值,命令为 print a(在python 3.0 以后版本中,print 不再是一个语句,而是一个函数,所以如果想要输出 a,用法为 print(a)) 。在 Tcl 中求 1 和 10 的和或者变量之间的加减乘除运算需要使用 expr 命令,在 python 则直接写表达式就可以了,如图 3 所示。图 3Python 很多功能都是靠模块实现的,比如 ftplib 模块负责 ftp功能的实现,math 模块囊括了基本数学公式,如果我们想要引用这些模块,需要使用命令 import 模块名称,如 imp

7、ort 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 安装的时候已经安装了,而接下来重点介绍的 xlr

8、d、xlwt、xlutils 模块都不是随 python 安装的。需要手动下载安装,第 5 节会详细介绍模块的安装。当成功导入了某个模块后,可以通过函数 dir (模块名)查看这个模块包含哪些函数,如果对某个函数的作用不了解,可以通过help 函数查看,如 help(math.pow)本文只是带领大家入门,python 的其他语法可以参考其它资料学习。4Tcl 对对 Excel 操作操作在使用 python 对 excel 操作之前搜索过如何通过 Tcl 对 excel操作,Tcl 本身没有提供对 excel 操作的命令,可以通过 tcom 外部包来调用 excel 的接口实现,但是个人感觉实

9、现起来比较麻烦,msdn 网站上虽然提供了 excel 的接口,但示例都是针对 VB 脚本语言写的,Tcl 如果想要调用的话还需要转换,如下是一段简单的 Tcl代码展示如何通过 tcom 对 excel 进行操作,但也花了本人不少时间琢磨。# 加载 tcom 包package require tcomset filename “F:/1.xls“# 创建 com 实例,打开工作表,下面四句都是套路set excel :tcom:ref createobject “Excel.Application“set workbooks $excel Workbooksset workbook $work

10、books Open $filenameset worksheets $workbook Worksheets# “sheet1“为 sheet 的名称set worksheet $worksheets Item “sheet1“# 创建单元格对象set cells $worksheet Cells# 给单元格 B2 赋值为“hsdf”$cells Item 2 B “hsdf“# 获取 sheet 的个数并赋值给 sheetCountset sheetCount $worksheets Count# 获取 A1 至 A15 单元的范围对象set range $worksheet Range

11、A1 A15# 给 A1 至 A15 单元赋值$range Value2 “abcdefg“# 获取 A1 至 A15 的值,并赋值给 A,A 是一个列表 listset A $range Value2# 设置单元的背景色set interior $range Interior$interior Color expr 0x00FFE0# 设置单元的前景色和字体大小、加粗、斜体、字体set font $range Font$font Color expr 0xFF0000$font Bold 1$font Size 10$font Italic 0$font Name “华文行楷“# 设置单元格

12、的宽度为自动调整set entire $range EntireColumn$entire AutoFit# 保存文档$workbook Save# 显示 Excel$excel Visible 15xlwt 和和 xlrd 模块的安装模块的安装Python 也是通过导入外部模块来实现对 excel 的操作,xlrd 负责对 excel 的读取,xlwt 负责对 excel 的写入,xlutils 依赖于xlrd 和 xlwt,可以复制 excel 文件。这三个包都可以在网站http:/www.python-excel.org/下载。本文使用的 xlrd 版本为0.8.0,xlwt 版本为 0

13、.7.5。从网上下载好 xlrd 和 xlwt 后,解压缩到 C:Python2.7.5Lib 下,此时在命令行下输入 import xlrd 或者import xlwt,会出现提示 ImportError: No module named xlwt,这表明还没有安装 xlwt 模块。python 导入一个模块的过程要求有一个叫做“路径搜索”的操作过程,即是在文件系统“预先设定的区域”查找模块文件以加载模块的过程。这个预先设定的区域其实是 python 搜索路径的一组目录。这个目录保存在 sys.path 中,如果你想知道 python 导入模块时会在哪些路径搜索模块,你可以执行以下命令查看搜

14、索路径目录: import sys sys.pathD:pythonshell2.7.5,C:Python2.7.5Libidlelib,C:Python2.7.5libsite-packagessetuptools-1.3-py2.7.egg,C:Python2.7.5libsite-packagesxlutils-1.7.0-py2.7.egg,C:Windowssystem32python27.zip,C:Python2.7.5DLLs,C:Python2.7.5lib,C:Python2.7.5libplat-win, C:Python2.7.5liblib-tk,C:Python2.

15、7.5,C:Python2.7.5libsite-packages,C:Python2.7.5libsite-packageswin32,C:Python2.7.5libsite-packageswin32lib,C:Python2.7.5libsite-packagesPythonwin在 sys.path 中找到一个路径为C:Python2.7.5lib,所以我们把模块解压缩到这个目录下。命令sys.path.append(C:Python2.7.5lib)在最后添加一个目录,sys.path.insert(0, C:Python2.7.5lib )在第一位插入一个目录。解压缩完成并放在正

16、确目录后,在 cmd 下进入 package 当前目录,然后输入命令“C:Python2.7.5Libxlrd-0.8.0python setup.py install” ,安装完成后可以输入 import xlrd,dir(xlrd)来确认是否已经安装正确。6xlrd 简单使用方法简单使用方法import xlrdexcel = xlrd.open_workbook(“C:UsersHuZhangdongDesktopASB 测试床环境信息图.xls“) #打开文件并将对象存储到 excel 中sheet = excel.sheet_by_index(0) #通过索引读取 sheet 对象,

17、第一个 sheet 的索引为“0“row_3 = sheet.row_values(2) #读取第 3 行的所有数据,并以列表的形式存储到 row_3 中col_3 = sheet.col_values(2) #读取第 3 列的所有数据,并以列表 list 的形式存储到 col_3 中cell_12_7 = sheet.cell_value(11,6) #读取第 12 行第 7列的数据,并存储到 cell_12_7 中cell_11_11 = sheet.cell(10,10).value #读取第 11 行第11 列的数据,并存储到 cell_11_11 中cell_7_8 = sheet.

18、row(6)7.value #读取第 7 行第8 列的数据cell_7_8 = sheet.cel(7)6.value #读取第 8 列第7 行的数据num_rows = sheet.nrows #读取 sheet 的总行数num_cols = sheet.ncols #读取 sheet 的总列数基本上面的命令已经可以满足目前对 excel 读取的操作了,接下给大家讲解 xlwt 的用法。7xlwt 简单使用方法简单使用方法#-*- coding: UTF-8 -*- #设置编码格式为 utf-8import os,xlwt,datetime #导入模块data =xlwt.Workbook(

19、) #新建一个 Workbooksheet = data.add_sheet(u“sheet“) #新建一个 sheet,名称为sheetstyle1 = xlwt.XFStyle() #创建格式 style1style2 = xlwt.XFStyle()style3 = xlwt.XFStyle()#设置字体格式font1 = xlwt.Font() #创建 font1font1.name = Times New Roman #字体为Times New Romanfont1.bold = True #加粗font1.colour_index = 2 #字体颜色为红色,0 = Black, 1

20、 = White, 2 = Red, 3 = Green, 4 = Blue, 5 = Yellow, 6 = Magenta, 7 = Cyanfont1.underline = xlwt.Font.UNDERLINE_DOUBLE #下划线类型,UNDERLINE_DOUBLE 代表双下划线,另外还有 UNDERLINE_NONE, UNDERLINE_SINGLE, UNDERLINE_SINGLE_ACC, UNDERLINE_DOUBLE, UNDERLINE_DOUBLE_ACCfont1.escapement = xlwt.Font.ESCAPEMENT_SUPERSCRIPT

21、#设置上标font1.family = xlwt.Font.FAMILY_ROMANfont1.height = 0x190 #0x190 是 16 进制,换成 10 进制为400,然后除以 20,就得到字体的大小为 20style1.font = font1 #将创建的 font1 字体格式应用到style1 上font2 = xlwt.Font() #创建 font2font2.name = “Algerian“ #字体为Algerian font2.colour_index = 3 #字体颜色为绿色font2.italic = True #斜体font2.struck_out = Tru

22、e #删除线font2.height = 0x258 #字体大小为 30style2.font = font2 #将创建的 font2 字体格式应用到style2 上#设置列宽sheet.col(0).width = 6000sheet.col(1).width = 12000sheet.set_col_default_width(2)#设置单元格对齐方式alignment = xlwt.Alignment() #创建 alignmentalignment.horz = xlwt.Alignment.HORZ_CENTER #设置水平对齐为居中,May be: HORZ_GENERAL, HO

23、RZ_LEFT, HORZ_CENTER, HORZ_RIGHT, HORZ_FILLED, HORZ_JUSTIFIED, HORZ_CENTER_ACROSS_SEL, HORZ_DISTRIBUTEDalignment.vert = xlwt.Alignment.VERT_CENTER #设置垂直对齐为居中,May be: VERT_TOP, VERT_CENTER, VERT_BOTTOM, VERT_JUSTIFIED, VERT_DISTRIBUTEDstyle3.alignment = alignment #应用 alignment 到 style3上#插入时间style3.nu

24、m_format_str = YYYY-MM-DD HH:MM:SS #设置时间格式sheet.write(1,1,datetime.datetime.now(),style3) #在第2 行第 2 列插入当前时间,格式为 style3#设置单元格背景颜色pattern_yellow = xlwt.Pattern() #创建 pattern_yellowpattern_yellow.pattern = xlwt.Pattern.SOLID_PATTERN #设置填充模式为全部填充pattern_yellow.pattern_fore_colour = 5 #设置填充颜色为 yellow 黄色s

25、tyle1.pattern = pattern_yellow #把设置的 pattern 应用到style3 上pattern_red = xlwt.Pattern() #创建 pattern_redpattern_red.pattern = xlwt.Pattern.SOLID_PATTERN #设置填充模式为全部填充pattern_red.pattern_fore_colour = 2 #设置填充颜色为 red红色style2.pattern = pattern_red #把设置的 pattern 应用到style4 上 #设置单元格边框borders = xlwt.Borders() #

26、创建 bordersborders.left = xlwt.Borders.DASHED #设置左边框的类型为虚线 May be: NO_LINE, THIN, MEDIUM, DASHED, DOTTED, THICK, DOUBLE, HAIR, MEDIUM_DASHED, THIN_DASH_DOTTED, MEDIUM_DASH_DOTTED, THIN_DASH_DOT_DOTTED, MEDIUM_DASH_DOT_DOTTED, SLANTED_MEDIUM_DASH_DOTTED, or 0x00 through 0x0D.borders.right = xlwt.Borde

27、rs.THIN #设置右边框的类型为细线borders.top = xlwt.Borders.DOTTED #设置上边框的类型为打点的borders.bottom = xlwt.Borders.THICK #设置底部边框类型为粗线borders.left_colour = 0x10 #设置左边框线条颜色borders.right_colour = 0x20borders.top_colour = 0x30borders.bottom_colour = 0x40style1.borders = borders #将 borders 应用到 style1 上style2.borders = bor

28、ders #将 borders 应用到 style2 上sheet.write(3, 0, HuZhangdong, style1) #在第 4 行第 1列写入HuZhangdong,格式引用 style1sheet.write(4, 0, YinMengran , style2) #在第 5 行第 1列写入YinMengran,格式引用 style2data.save(ue:3.xls) #保存到 e:3.xls函数 xlwt.Workbook()只能新建一个 excel 文档,不能打开一个已经存在的文档,下一章会讲解如何通过 xlutils 修改一个已经存在的 excel 文档。8xlut

29、ils 简单使用方法简单使用方法本章将讲解如何使用 xlutils 编辑一个已经存在的文档,需要导入 xlutils 模块,下载地址是 http:/www.python-excel.org/,模块成功安装后就开始编写脚本吧。#-*- coding:utf-8 -*- #设置当前编码格式为 utf-8import xlwt #导入 xlwt 模块import xlrd #导入 xlrd 模块from xlutils.copy import copy #导入 import 模块的copy 函数,接下来就可以直接使用函数 copy 了。fileName = “E:4.xls“sheetName =

30、“sheet1“styleBoldRed = xlwt.easyxf(font: color-index red, bold on) #设置字体,颜色为红色,加粗oldWb = xlrd.open_workbook(fileName, formatting_info=True) #使用 xlrd.open_workbook 函数打开文件,formatting_info=True 表示保留该文件的格式newWb = copy(oldWb) #通过 copy 函数把 oldWb copy 到newWb,然后通过编辑 newWb 来实现编辑已经存在的文件。newWs = newWb.get_sheet(0) #读取第一个 sheetnewWs.write(4, 0, “value1“,styleBoldRed) #第 5 行第 1列写入值“value1” ,格式采用 styleBoldRed。newWs.write(4, 1, “value2“,styleBoldRed) #第 5 行第 2 列写入值“value2”newWs.write(4, 2, “value3“,styleBoldRed) #第 5 行第 3 列写入值“value3”newWb.save(fileName) #文件保存为“E:4.xls“

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com