- 内容提要
- 作者简介
- 技术评审者简介
- 致谢
- 译者序 会编程的人不一样
- 前言
- 本书的读者对象
- 编码规范
- 什么是编程
- 本书简介
- 下载和安装 Python
- 启动 IDLE
- 如何寻求帮助
- 聪明地提出编程问题
- 小结
- 第一部分 Python 编程基础
- 第1章 Python 基础
- 第2章 控制流
- 第3章 函数
- 第4章 列表
- 第5章 字典和结构化数据
- 第6章 字符串操作
- 第二部分 自动化任务
- 第7章 模式匹配与正则表达式
- 第8章 读写文件
- 第9章 组织文件
- 第10章 调试
- 第11章 从 Web 抓取信息
- 第12章 处理 Excel 电子表格
- 第13章 处理 PDF 和 Word 文档
- 第14章 处理 CSV 文件和 JSON 数据
- 第15章 保持时间、计划任务和启动程序
- 第16章 发送电子邮件和短信
- 第17章 操作图像
- 第18章 用 GUI 自动化控制键盘和鼠标
- 附录A 安装第三方模块
- 附录B 运行程序
- 附录C 习题答案
12.13 实践项目
作为实践,编程执行以下任务。
12.13.1 乘法表
创建程序multiplicationTable.py,从命令行接受数字N,在一个Excel电子表格中创建一个N×N的乘法表。例如,如果这样执行程序:
py multiplicationTable.py 6
它应该创建一个图12-11所示的电子表格。
图12-11 在电子表格中生成的乘法表
行1和列A应该用做标签,应该使用粗体。
12.13.2 空行插入程序
创建一个程序blankRowInserter.py,它接受两个整数和一个文件名字符串作为命令行参数。我们将第一个整数称为N,第二个整数称为M。程序应该从第N行开始,在电子表格中插入M个空行。例如,如果这样执行程序:
python blankRowInserter.py 3 2 myProduce.xlsx
执行之前和之后的电子表格,应该如图12-12所示。
图12-12 之前(左边)和之后(右边)在第三行插入两个空行
程序可以这样写:读入电子表格的内容,然后在写入新的电子表格时,利用for循环拷贝前面N行。对于剩下的行,行号加上M,写入输出的电子表格。
12.13.3 电子表格单元格翻转程序
编写一个程序,翻转电子表格中行和列的单元格。例如,第5行第3列的值将出现在第3行第5列(反之亦然)。这应该针对电子表格中所有单元格进行。例如,之前和之后的电子表格应该看起来如图12-13所示。
图12-13 翻转之前(上面)和之后(下面)的电子表格
程序可以这样写:利用嵌套的for循环,将电子表格中的数据读入一个列表的列表。这个数据结构用sheetData[x][y]表示列x和行y处的单元格。然后,在写入新电子表格时,将sheetData[y][x]写入列x和行y处的单元格。
12.13.4 文本文件到电子表格
编写一个程序,读入几个文本文件的内容(可以自己创造这些文本文件),并将这些内容插入一个电子表格,每行写入一行文本。第一个文本文件中的行将写入列A中的单元格,第二个文本文件中的行将写入列B中的单元格,以此类推。
利用File对象的readlines()方法,返回一个字符串的列表,每个字符串就是文件中的一行。对于第一个文件,将第一行输出到列1行1。第二行应该写入列1行2,以此类推。下一个用readlines()读入的文件将写入列2,再下一个写入列3,以此类推。
12.13.5 电子表格到文本文件
编写一个程序,执行前一个程序相反的任务。该程序应该打开一个电子表格,将列A中的单元格写入一个文本文件,将列B中的单元格写入另一个文本文件,以此类推。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论