一个易于使用的基于控制台的表

easy-table的Python项目详细描述


易用

easytable的目标是提供一个python模块,它允许人们轻松地创建一个表,更改它的外观并添加数据, 并且允许他们不必担心调整表的大小以适合他们的数据。雅各布·伦博尔特 “来自加拿大的人”或“加拿大人”

使用easytable

Easytable有几个函数需要调用才能创建表,下面是创建表的示例代码

首先导入easytable模块并创建它的实例

import easy_table

myTable = easy_table.EasyTable()

下一步为表的结构设置字符。这些函数的参数如下:

可设置的角点(左上、右上、右下、左下) SetTableBorder(垂直边框,水平边框) 可设置内部结构(垂直、水平、交叉)

myTable.setTableCorners("/", "\\", "/", "\\")
myTable.setTableBorder("|", "-")
myTable.setTableInnerStructure("|", "-", "+")

现在设置列标题和数据,setcoloumns接受字符串数组,set data接受字符串的2d数组。参数是 如下所示:

setColumns(列标题数组) setdata(数据数组)

myTable.setColumns(["ID #", "Name", "Age"])
data = [["0","Jeff","31"],["1","Bill", "22"], ["2", "Tim", "33"], ["3", "Timothy", "41"]]
myTable.setData(data)

最后,只剩下显示表格

myTable.displayTable()

下面是表格的外观:

/----------------\
|ID #|  NAME |AGE|
|----+-------+---|
| 0  |  Jeff | 31|
|----+-------+---|
| 1  |  Bill | 22|
|----+-------+---|
| 2  |  Tim  | 33|
|----+-------+---|
| 3  |Timothy| 41|
\----------------/

如果要对表进行排序,请使用sortTable(sortPos)并指定列的位置,表将被排序 off of,例如,要根据年龄对上表进行排序,请包含以下代码

myTable.sortTable(2)

在上面为sortpos传递的代码中,因为age列位于列标题数组的第二个位置。分类的 桌子看起来像

/----------------\
|ID #|  NAME |AGE|
|----+-------+---|
| 1  |  Bill | 22|
|----+-------+---|
| 0  |  Jeff | 31|
|----+-------+---|
| 2  |  Tim  | 33|
|----+-------+---|
| 3  |Timothy| 41|
\----------------/

如果要搜索表,请使用searchTable(array, column_num, search_term),并将数组赋给 搜索范围、要搜索的列和要搜索的值

search_result = myTable.searchTable(data, 1, "Tim")
myTable.setData(search_result)

在上面的代码中,data是数据数组,1是数组中的name列,tim是要搜索的术语, 返回的数组是一个包含数据行的数组,其中name列的值包含tim

/----------------\
|ID #|  NAME |AGE|
|----+-------+---|
| 2  |  Tim  | 33|
|----+-------+---|
| 3  |Timothy| 41|
\----------------/

如果您想查看表调用中使用的字符showTableProps(),这将产生以下结果:

----TABLE PROPERTIES----
Table Corners: / \ / \
Table Border: | -
Table Inner Structure: | - +

许可证

easytable项目是在mit许可下授权的-请参见LICENSE

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java使用split函数分割字符串,但没有得到期望的结果   未找到包含derby数据库嵌入架构的sql Java桌面应用程序错误   java elasticsearch vs solr用于定制全文搜索系统   java Android:创建没有startOffset的动画延迟?   java如何查看其他应用程序接收的数据?   java如何在Linux中使用D和classpath选项运行jar文件   java和域设计最佳实践   具有相同内存位置的java数组,将显示为输出   连接到java中的elasticsearch?   Java Playframework重定向到带有Json负载的外部url   java无法在Android平台上使用InputStream为蓝牙socket创建ObjectInputStream   使用POI将Excel日期转换为Java日期,年份未正确显示   oracle从数据库层还是Java层调用webservice?