实战通讯录,命令行下展示漂亮的表格,实现人物信息总览

核心提示前面内容,我们搭建了通讯录小程序的框架,对于通讯录小程序中用到的数据,我们也封装了一个ExcelOperator类,它包含了常用的Excel电子表格的操作。ExcelOperator类其实,按照正常逻辑来讲,这个类的创建不应该放在前面讲,大

在前面,我们设置了地址簿小程序的框架,我们还为地址簿小程序中使用的数据封装了一个ExcelOperator类,它包含了常见的Excel电子表格操作。

ExcelOperator类

其实,按照正常的逻辑,这个阶层的产生是不应该摆在我们面前的。就当是国外的故事吧,用openpyxl处理Excel的知识点总结。

就当是学习知识点

对于如何使用,就不要管了。在我们介绍了完整部分的功能后,它的作用就显而易见了...

这是供您查看的链接。

Python其实就是用prettytable和openpyxl库来做命令行下的通讯录。

Python通讯录,如何定义类,实现Excel表格数据的增删查操作。

今天主要来了解一下通讯录小程序的信息概况,以及单个信息检索功能的实现。

单一的信息检索功能是删除、修改和搜索的前提。在操作单个数据时,首先要找到数据。事不宜迟,我们先来看看今天要达到的效果。

今天要实现的效果

回顾前面两篇文章,今天主要实现control==1和control==2两个函数。

也就是要实现两个函数,view_infos和find_person。我们可以在之前定义的函数框架中直接添加。

函数功能实现

让我们逐一分析。

信息总览功能的实现

其实很简单,就是用openpyxl库打开我们的' phonenumber.xlsx ',然后用prettytable库显示我们的Excel文件。

让我们完成它。#Python知识分享#

首先,将我们上一篇文章中定义的ExcelOperator类保存为“exceloperator.py”文件,并将其存储在main.py的同一个目录中

然后,我们定义ExcelOperator类的一个实例。当然,在此之前,我们还是要导入库。

导入系统

从exceloperator导入ExcelOperator作为eor

从漂亮的桌子进口漂亮的桌子

#创建实例

eo = eor

#创建PrettyTable对象的另一个实例

pt =漂亮的表

#想要将第一行内容添加到prettytable实例中

pt . field _ names = EO . get _ row _ value

#获取最大行数和列数

row,col = eo.get_row_col_num

#遍历每一行

对于范围内的I:

Pt.add_row) #将每一行添加到Pt实例中。

#打印输出

打印

好了,就把上面的放到函数view_infos里,注意缩进。

暂时完成了

个人信息检索功能的实现

从程序分析可以看出,我们首先提示用户输入被搜索人的名字。然后,在名为from Excel的列中查找该名称。如果有,它将返回信息,如果没有,它将不返回任何信息。按照这个思路写函数很容易。

#提示用户输入要查找的人的姓名

person_name = str)

#我在哪里可以找到某人的名字?我们得先有数据!

Name_list = eo.get_col_value #这里我的名字刚好是Excel表格的第二列,所以直接拿出来。

#确定是否找到?

如果姓名在姓名列表中:

#找到了

打印

# PrettyTable实例显示了这一点

pt =漂亮的表

pt . field _ names = EO . get _ row _ value

row,col = eo.get_row_col_num

result = eo.get_row_value + 1)

pt.add_row

打印)

#返回行数据及其在列表中的索引位置

返回结果,name_list.index + 1

否则:

打印

不返回

好了,功能基本实现了,不过还是仔细考虑一下是怎么实现的吧。

功能实现了

真的有功能吗?

如果我们像上面那样写,完全没有必要封装ExcelOperator类。比较代码。

分析代码

上面的信息概述和查找个人信息实际上是两个不同的对象实例。增加了后续信息修改的功能后,就没有办法实时显示信息了。

大家想一想是不是这样

因此,当我们定义函数时,我们直接传入ExcelOperator对象实例,以确保我们使用的是同一个对象实例。让我们修改这两个函数。

实现代码

这样既实现了功能,又保证了两者展现的是同一个对象实例。

零基础学Python京东月销量1000好评率99%无理由退换京东配送官方店¥57.9购买

好了,今天就到这里。其实在这个例子中,PrettyTable用起来太繁琐了,还有一个简化空的空间让大家思考。

还有空间

接下来,我们将添加、删除和更改数据。喜欢的朋友关注我,这个实践项目很有意思。

本文为作者原创,转载请注明出处,百佳诺。:Python高手修炼。

 
友情链接
鄂ICP备19019357号-22