12
返回列表 发新帖
楼主: chenming - 

【疾病研究部练习题一】

[复制链接]

5

主题

20

帖子

318

积分

版主

Rank: 7Rank: 7Rank: 7

积分
318
发表于 2019-11-13 10:51:33 | 显示全部楼层

玉洁姐的功能实现也非常的棒,考虑到了在输入之前展示sheetname和title,函数功能也都有说明,当然这里也有一些小的建议:
1 如果从增加自动化的角度来讲,我更推荐大家使用像argparse这样的命令行参数模块来写,这样我们可以在添加参数后投递执行或者后台执行,或者也可以将该模块加入到流程当中,尤其是在文件较大的时候。通过input的交互方式就像是我们在windows系统的操作一样,一问一答,好处是比较的直观,缺点是不利于自动化的运行。
2 可以适当的使用一些模块提供的函数或方法来简化操作,例如获取每个sheet第一行的内容可以使用title = [cell.value for cell in sheet1[1]],这里通过sheet1的索引直接找到了第一行的内容,同时用列表解析返回这一行的所有值,这样较为简洁。openpyxl提供了非常丰富的函数和方法,大家可以在使用的时候留意一下,慢慢积累
回复

使用道具 举报

5

主题

20

帖子

318

积分

版主

Rank: 7Rank: 7Rank: 7

积分
318
发表于 2019-11-13 11:19:58 | 显示全部楼层
chenming 发表于 2019-11-13 10:51
玉洁姐的功能实现也非常的棒,考虑到了在输入之前展示sheetname和title,函数功能也都有说明,当然这里也 ...

还有一个问题是关于全局变量的使用的,一般不推荐在函数中使用全局变量,因为这样会导致代码的可读性变差,增加维护的难度。例如突然在函数中看到一个变量,但是这个变量并不是函数的输入参数,这就会让人一时很疑惑,不能通过函数的参数一眼了解到这个函数需要哪些参数。
如果你实在想使用一个反复用到的全局变量,那么这里建议把这个全局变量使用全大写来进行标记。玉洁姐的代码中几个函数都使用了sheetD全局变量,因此可以在函数参数中添加一个sheetD的参数或者将sheetD改写非SHEETD以试标记。
回复

使用道具 举报

12
返回列表 发新帖

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则