Python基础与办公自动化课件 单元8 Python教你玩转Excel文件_第1页
Python基础与办公自动化课件 单元8 Python教你玩转Excel文件_第2页
Python基础与办公自动化课件 单元8 Python教你玩转Excel文件_第3页
Python基础与办公自动化课件 单元8 Python教你玩转Excel文件_第4页
Python基础与办公自动化课件 单元8 Python教你玩转Excel文件_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

单元8Python教你玩转Excel文件

任务8.1将数据存入Excel文件【任务目标】文件“data1.txt”中保存了“唐宋八大家”的相关信息(包括姓名、朝代、代表作),编写一个程序,使用xlwings库,将这些数据存入一个Excel文件。【任务实施】……8.2管理工作簿创建工作簿打开工作簿管理工作簿8.2.1创建工作簿创建工作簿包含下列几个步骤:打开Excel程序、新建工作簿、保存工作簿、关闭工作簿、退出Excel程序等。上述代码中,第3行创建一个Excel程序实例,并新建一个工作簿,也可以调用app.books.add()方法新建工作簿(见知识点8.1.2中的示例代码)。第5行调用了工作簿对象(单个Excel文件对应的对象,代表一个具体的工作簿)wb的save()方法完成文件保存操作。在调用save()方法执行保存操作时需注意下列情况。(1)使用参数指定文件名时,按指定文件名保存工作簿。(2)省略参数时,按当前文件名保存工作簿。如果新建工作簿还没保存到文件,则在Python程序所在目录中使用默认文件名(如“工作簿1.xlsx”)完成保存操作。(3)工作簿保存到文件时,目录中的同名文件直接被覆盖,没有提示。还可以调用xw.Book()方法创建工作簿,示例代码如下。8.2.2打开工作簿工作簿集合对象(当前所有已打开工作簿的集合,是工作簿对象的容器)的open()方法可用于打开工作簿,示例代码如下。使用app.books.open()方法打开指定的工作簿时,如果该工作簿已经被打开,则以只读方式打开工作簿副本。也可以使用xw.Book()方法打开工作簿,示例代码如下。xw.Book()方法首先在已打开的Excel程序实例中查找指定工作簿,如果工作簿已经打开,则直接返回对应的工作簿对象,否则就创建Excel程序实例并打开工作簿。8.2.3管理工作表1.添加工作表一个工作簿中通常包含多个工作表,工作簿对象的sheets属性用于返回工作表集合对象(单个工作簿中所有工作表的集合,是工作表对象的容器),工作表集合对象的add()方法可用于添加工作表,示例代码如下。wb.sheets.add()方法默认将添加的工作表放在活动工作表之前(添加的工作表成为活动工作表),可使用after或before参数指定添加的工作表的位置,示例代码如下。2.选择工作表工作表集合对象可使用工作表的名称或者位置来选择工作表,示例代码如下。3.复制工作表工作表集合对象的copy()方法可用于复制工作表,示例代码如下。未指定参数时,copy()方法在当前工作簿中复制工作表,并将复制的工作表放在所有工作表之后,复制的工作表的默认名称为“原工作表名称(2)”。参数name用于指定复制的工作表的名称,参数after用于指定复制的工作表的位置,参数after应该是一个工作表集合对象,可以是当前工作簿或另一个工作簿中的工作表。4.删除工作表工作表集合对象的delete()方法用于删除工作表,示例代码如下。5.修改工作表名称工作表集合对象的name属性可用于获取或者修改工作表名称,示例代码如下。任务8.3合并学生名单【任务目标】文件夹“test8_17”中有多个学生名单Excel文件,每个文件中都只有一个工作表,工作表包含“年级”“层次”“专业名称”“录取人数”“录取线”等列,编写程序,将所有学生数据合并到一个工作表中。【任务实施】……8.3读写工作表读工作表写工作表删除数据导出数据8.3.1读工作表xlwings库的range对象表示单元格区域,通过它可完成各种数据读取操作。1.读取单个单元格数据读取单个单元格数据的基本语法格式如下。示例代码如下。2.读取单元格区域数据读取单元格区域数据的基本语法格式如下。示例代码如下。3.以扩展方式读取数据range对象的expand()方法可指定以扩展方式读取工作表数据,其基本语法格式如下。上述语法表示从指定单元格开始,按参数mode指定的方式读取数据,并将其存入变量var。参数mode可以为right(向右扩展读取行)、down(向下扩展读取列)或table(默认值,向右和向下同时扩展读取行和列)。示例代码4.读取已使用单元格区域数据工作表集合对象的used_range用于返回已使用的单元格区域,使用它可获取工作表中的全部数据示例代码如下。8.3.2写工作表1.按行写入数据按行写入数据的基本语法格式如下。上述语法表示从指定单元格开始,按行将data中的数据写入工作表。data可以是单个值或者列表表示的多个值。data是单个值时,只在指定单元格中写入该值;data是列表时,依次将数据写入从指定单元格开始的多个相邻单元格中。如果data是嵌套的列表,则写入多行数据。示例代码2.按列写入数据按列写入数据的基本语法格式如下。参数transpose设置为True,表示按列将data中的数据写入工作表,示例代码如下。8.3.3删除数据xlwings库的sheet或range对象的clear()方法(删除数据和格式)和clear_contents()方法(仅删除数据)用于删除数据。1.删除单个单元格数据删除单个单元格数据的基本语法格式如下。示例代码如下。2.删除单元格区域数据删除单元格区域数据的基本语法格式如下。示例代码如下。3.以扩展方式删除数据与读取工作表数据类似,range对象的expand()方法可指定以扩展方式删除工作表数据,其基本语法格式如下。示例代码如下。4.删除工作表中的全部数据调用工作表集合对象的clear()方法和clear_contents()方法可删除工作表中的全部数据,示例代码如下。8.3.4导出数据工作表集合对象的to_html()方法和to_pdf()方法可分别将工作表数据导出到HTML文件和PDF文件,示例代码如下。任务8.4设置成绩表格式【任务目标】文件“data3.xlsx”中保存了学生成绩数据,使用xlwings库设置数据区域格式:奇数行背景颜色设置为浅灰,标题行文字设置为黑体、16号、加粗,其他行文字设置为仿宋、14号,自动调整行高和列宽、文字居中对齐,下边界设置为直线。【任务实施】……8.4设置工作表格式设置背景颜色设置行高和列宽设置边框设置对齐方式设置文字格式8.4.1设置背景颜色单元格对象range的color属性用于获取或者设置单元格背景颜色,其基本语法格式如下。其中:range_a1_color为保存颜色值的变量,range_a1为单元格对象new_color为颜色值。颜色值可以用RGB颜色值元组(r,g,b)表示,r、g、b取值范围为0~255,也可以用"#FF00FF"格式的字符串表示。示例代码8.4.2设置行高和列宽单元格对象

range

row_height

属性用于获取或者设置单元格行高,column_width属性用于获取或者设置单元格列宽,autofit()方法用于自动调整行高和列宽。8.4.3设置边框设置单元格或单元格区域的边框可以通过api属性访问底层的Excel对象模型来实现,其基本语法格式如下。其中,相关参数说明如下。(1)r:单元格或单元格区域对象。(2)edge:边框位置常量,常用值包括7(左边缘)、8(上边缘)、9(下边缘)、10(右边缘)、11(内部垂直边框)和12(内部水平边框)。(3)m:线型常量,常用值包括0(无边框)、1(实线)、2(点线)、3(短画线)、4(短点线)、5(长点线)、6(双线)和7(细线)。(4)n:宽度常量,常用值包括1(细线或发丝线)、2(细线)、3(中线)和4(粗线)。示例代码8.4.4设置对齐方式设置单元格或单元格区域的对齐方式可以通过api属性访问底层的Excel对象模型来实现,其基本语法格式如下。其中,相关参数说明如下。(1)r:单元格或单元格区域对象。(2)m:水平对齐方式常量,常用值包括1(常规对齐,默认)、4131(左对齐)、4108(居中对齐)、4152(右对齐)、5(填充)、4130(两端对齐)、7(跨列居中)和4117(分散对齐)。(3)n:垂直对齐方式常量,常用值包括4160(顶部对齐)、4108(居中对齐)、4107(底部对齐)、4130(两端对齐)和4117(分散对齐)。示例代码8.4.5设

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论