Python对Excel操作教程Word格式文档下载.docx

上传人:b****7 文档编号:22460379 上传时间:2023-02-04 格式:DOCX 页数:12 大小:198.61KB
下载 相关 举报
Python对Excel操作教程Word格式文档下载.docx_第1页
第1页 / 共12页
Python对Excel操作教程Word格式文档下载.docx_第2页
第2页 / 共12页
Python对Excel操作教程Word格式文档下载.docx_第3页
第3页 / 共12页
Python对Excel操作教程Word格式文档下载.docx_第4页
第4页 / 共12页
Python对Excel操作教程Word格式文档下载.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

Python对Excel操作教程Word格式文档下载.docx

《Python对Excel操作教程Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《Python对Excel操作教程Word格式文档下载.docx(12页珍藏版)》请在冰豆网上搜索。

Python对Excel操作教程Word格式文档下载.docx

\DocumentsandSettings\Administrator>

,而在这个路径下是找不到python的,所以提示出错,可以进入到python安装目录下,然后执行python就可以进入交互命令行模式下。

如果懒的每次都进入python安装,此时需要将python安装路径添加到系统变量中,然后windows在执行命令的时候会去环境变量中查找路径,具体配置如图2所示,在Path中添加python的安装路径“C:

\Python2.7.5;

”,主要路径后面要加”;

”分号表面这是一个路径的结束,此时无论在哪个路径下都可以执行python调出交互命令行。

图2

3Python语法入门

在Python简介中提到Python是一种直译式电脑编程语言,体现在语法中,如要将变量a赋值为1,Tcl使用命令%seta1(本文中为了区分Tcl和Python的命令,Tcl命令前会加上“%”,否则默认为Python命令),在python中命令为a=1,输出a的值可以直接输入a,也可以通过print语句输出a的值,命令为printa(在python3.0以后版本中,print不再是一个语句,而是一个函数,所以如果想要输出a,用法为print(a))。

在Tcl中求1和10的和或者变量之间的加减乘除运算需要使用expr命令,在python则直接写表达式就可以了,如图3所示。

图3

Python很多功能都是靠模块实现的,比如ftplib模块负责ftp功能的实现,math模块囊括了基本数学公式,如果我们想要引用这些模块,需要使用命令import模块名称,如importftplib和importmath。

如果想使用math模块中的函数floor,可以使用命令math.floor(28.5),语法为“模块.函数”,如果想要直接使用floor函数,必须提前引用,命令为frommathimportfloor,那样就可以直接使用命令floor(28.5)了。

如果觉得floor这个函数名称太长了或者不好记忆,可以通过变量引用函数,如f=math.floor,这样变量f就充当了math.floor的功能了。

上面提到的模块ftplib和math都是在python安装的时候已经安装了,而接下来重点介绍的xlrd、xlwt、xlutils模块都不是随python安装的。

需要手动下载安装,第5节会详细介绍模块的安装。

当成功导入了某个模块后,可以通过函数dir(模块名)查看这个模块包含哪些函数,如果对某个函数的作用不了解,可以通过help函数查看,如help(math.pow)

本文只是带领大家入门,python的其他语法可以参考其它资料学习。

4Tcl对Excel操作

在使用python对excel操作之前搜索过如何通过Tcl对excel操作,Tcl本身没有提供对excel操作的命令,可以通过tcom外部包来调用excel的接口实现,但是个人感觉实现起来比较麻烦,msdn网站上虽然提供了excel的接口,但示例都是针对VB脚本语言写的,Tcl如果想要调用的话还需要转换,如下是一段简单的Tcl代码展示如何通过tcom对excel进行操作,但也花了本人不少时间琢磨。

#加载tcom包

packagerequiretcom

setfilename"

F:

/1.xls"

#创建com实例,打开工作表,下面四句都是套路

setexcel[:

:

tcom:

refcreateobject"

Excel.Application"

]

setworkbooks[$excelWorkbooks]

setworkbook[$workbooksOpen$filename]

setworksheets[$workbookWorksheets]

#"

sheet1"

为sheet的名称

setworksheet[$worksheetsItem"

#创建单元格对象

setcells[$worksheetCells]

#给单元格B2赋值为“hsdf”

$cellsItem2B"

hsdf"

#获取sheet的个数并赋值给sheetCount

setsheetCount[$worksheetsCount]

#获取A1至A15单元的范围对象

setrange[$worksheetRangeA1A15]

#给A1至A15单元赋值

$rangeValue2"

abcdefg"

#获取A1至A15的值,并赋值给A,A是一个列表list

setA[$rangeValue2]

#设置单元的背景色

setinterior[$rangeInterior]

$interiorColor[expr0x00FFE0]

#设置单元的前景色和字体大小、加粗、斜体、字体

setfont[$rangeFont]

$fontColor[expr0xFF0000]

$fontBold1

$fontSize10

$fontItalic0

$fontName"

华文行楷"

#设置单元格的宽度为自动调整

setentire[$rangeEntireColumn]

$entireAutoFit

#保存文档

$workbookSave

#显示Excel

$excelVisible1

5xlwt和xlrd模块的安装

Python也是通过导入外部模块来实现对excel的操作,xlrd负责对excel的读取,xlwt负责对excel的写入,xlutils依赖于xlrd和xlwt,可以复制excel文件。

这三个包都可以在网站http:

//www.python-excel.org/下载。

本文使用的xlrd版本为0.8.0,xlwt版本为0.7.5。

从网上下载好xlrd和xlwt后,解压缩到C:

\Python2.7.5\Lib下,此时在命令行下输入importxlrd或者importxlwt,会出现提示ImportError:

Nomodulenamedxlwt,这表明还没有安装xlwt模块。

python导入一个模块的过程要求有一个叫做“路径搜索”的操作过程,即是在文件系统“预先设定的区域”查找模块文件以加载模块的过程。

这个预先设定的区域其实是python搜索路径的一组目录。

这个目录保存在sys.path中,如果你想知道python导入模块时会在哪些路径搜索模块,你可以执行以下命令查看搜索路径目录:

>

importsys

sys.path

['

D:

\\python\\shell\\2.7.5'

'

C:

\\Python2.7.5\\Lib\\idlelib'

\\Python2.7.5\\lib\\site-packages\\setuptools-1.3-py2.7.egg'

\\Python2.7.5\\lib\\site-packages\\xlutils-1.7.0-py2.7.egg'

\\Windows\\system32\\python27.zip'

\\Python2.7.5\\DLLs'

\\Python2.7.5\\lib'

\\Python2.7.5\\lib\\plat-win'

'

\\Python2.7.5\\lib\\lib-tk'

\\Python2.7.5'

\\Python2.7.5\\lib\\site-packages'

\\Python2.7.5\\lib\\site-packages\\win32'

\\Python2.7.5\\lib\\site-packages\\win32\\lib'

\\Python2.7.5\\lib\\site-packages\\Pythonwin'

在sys.path中找到一个路径为'

,所以我们把模块解压缩到这个目录下。

命令>

sys.path.append('

)在最后添加一个目录,sys.path.insert(0,'

C:

\\Python2.7.5\\lib'

)在第一位插入一个目录。

解压缩完成并放在正确目录后,在cmd下进入package当前目录,然后输入命令“C:

\Python2.7.5\Lib\xlrd-0.8.0>

pythonsetup.pyinstall”,安装完成后可以输入importxlrd,dir(xlrd)来确认是否已经安装正确。

6xlrd简单使用方法

importxlrd

excel=xlrd.open_workbook("

\Users\HuZhangdong\Desktop\ASB测试床环境信息图.xls"

)#打开文件并将对象存储到excel中

sheet=excel.sheet_by_index(0)#通过索引读取sheet对象,第一个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.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-8

importos,xlwt,datetime#导入模块

data=xlwt.Workbook()#新建一个Workbook

sheet=data.add_sheet(u"

sheet"

)#新建一个sheet,名称为'

sheet'

style1=xlwt.XFStyle()#创建格式style1

style2=xlwt.XFStyle()

style3=xlwt.XFStyle()

#设置字体格式

font1=xlwt.Font()#创建font1

font1.name='

TimesNewRoman'

#字体为'

font1.bold=True#加粗

font1.colour_index=2#字体颜色为红色,0=Black,1=White,2=Red,3=Green,4=Blue,5=Yellow,6=Magenta,7=Cyan

font1.underline=xlwt.Font.UNDERLINE_DOUBLE#下划线类型,UNDERLINE_DOUBLE代表双下划线,另外还有UNDERLINE_NONE,UNDERLINE_SINGLE,UNDERLINE_SINGLE_ACC,UNDERLINE_DOUBLE,UNDERLINE_DOUBLE_ACC

font1.escapement=xlwt.Font.ESCAPEMENT_SUPERSCRIPT#设置上标

font1.family=xlwt.Font.FAMILY_ROMAN

font1.height=0x190#0x190是16进制,换成10进制为400,然后除以20,就得到字体的大小为20

style1.font=font1#将创建的font1字体格式应用到style1上

font2=xlwt.Font()#创建font2

font2.name="

Algerian"

Algerian'

font2.colour_index=3#字体颜色为绿色

font2.italic=True#斜体

font2.struck_out=True#删除线

font2.height=0x258#字体大小为30

style2.font=font2#将创建的font2字体格式应用到style2上

#设置列宽

sheet.col(0).width=6000

sheet.col

(1).width=12000

sheet.set_col_default_width

(2)

#设置单元格对齐方式

alignment=xlwt.Alignment()#创建alignment

alignment.horz=xlwt.Alignment.HORZ_CENTER#设置水平对齐为居中,Maybe:

HORZ_GENERAL,HORZ_LEFT,HORZ_CENTER,HORZ_RIGHT,HORZ_FILLED,HORZ_JUSTIFIED,HORZ_CENTER_ACROSS_SEL,HORZ_DISTRIBUTED

alignment.vert=xlwt.Alignment.VERT_CENTER#设置垂直对齐为居中,Maybe:

VERT_TOP,VERT_CENTER,VERT_BOTTOM,VERT_JUSTIFIED,VERT_DISTRIBUTED

style3.alignment=alignment#应用alignment到style3上

#插入时间

style3.num_format_str='

YYYY-MM-DDHH:

MM:

SS'

#设置时间格式

sheet.write(1,1,datetime.datetime.now(),style3)#在第2行第2列插入当前时间,格式为style3

#设置单元格背景颜色

pattern_yellow=xlwt.Pattern()#创建pattern_yellow

pattern_yellow.pattern=xlwt.Pattern.SOLID_PATTERN#设置填充模式为全部填充

pattern_yellow.pattern_fore_colour=5#设置填充颜色为yellow黄色

style1.pattern=pattern_yellow#把设置的pattern应用到style3上

pattern_red=xlwt.Pattern()#创建pattern_red

pattern_red.pattern=xlwt.Pattern.SOLID_PATTERN#设置填充模式为全部填充

pattern_red.pattern_fore_colour=2#设置填充颜色为red红色

style2.pattern=pattern_red#把设置的pattern应用到style4上

#设置单元格边框

borders=xlwt.Borders()#创建borders

borders.left=xlwt.Borders.DASHED#设置左边框的类型为虚线Maybe:

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,or0x00through0x0D.

borders.right=xlwt.Borders.THIN#设置右边框的类型为细线

borders.top=xlwt.Borders.DOTTED#设置上边框的类型为打点的

borders.bottom=xlwt.Borders.THICK#设置底部边框类型为粗线

borders.left_colour=0x10#设置左边框线条颜色

borders.right_colour=0x20

borders.top_colour=0x30

borders.bottom_colour=0x40

style1.borders=borders#将borders应用到style1上

style2.borders=borders#将borders应用到style2上

sheet.write(3,0,'

HuZhangdong'

style1)#在第4行第1列写入'

,格式引用style1

sheet.write(4,0,'

YinMengran'

style2)#在第5行第1列写入'

,格式引用style2

data.save(u'

e:

\\3.xls'

)#保存到e:

\\3.xls

函数xlwt.Workbook()只能新建一个excel文档,不能打开一个已经存在的文档,下一章会讲解如何通过xlutils修改一个已经存在的excel文档。

8xlutils简单使用方法

本章将讲解如何使用xlutils编辑一个已经存在的文档,需要导入xlutils模块,下载地址是http:

//www.python-excel.org/,模块成功安装后就开始编写脚本吧。

utf-8-*-#设置当前编码格式为utf-8

importxlwt#导入xlwt模块

importxlrd#导入xlrd模块

fromxlutils.copyimportcopy#导入import模块的copy函数,接下来就可以直接使用函数copy了。

fileName="

E:

\\4.xls"

sheetName="

styleBoldRed=xlwt.easyxf('

font:

color-indexred,boldon'

)#设置字体,颜色为红色,加粗

oldWb=xlrd.open_workbook(fileName,formatting_info=True)#使用xlrd.open_workbook函数打开文件,formatting_info=True表示保留该文件的格式

newWb=copy(oldWb)#通过copy函数把oldWbcopy到newWb,然后通过编辑newWb来实现编辑已经存在的文件。

newWs=newWb.get_sheet(0)#读取第一个sheet

newWs.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)#文件保存为"

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 军事

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1