-
类初始化参数
header
必选位置参数,创建表格类Table类实例时的初始行(标题行),header数据类型应为可迭代对象,子数据类型则不限。
例如:
mytable1 = Table(range(6))
或者:
mytable2 = Table((1, 2, 3, ))
或者:
mytable3 = Table(['序号', '姓名', '学号', '分数', '备注'])
alignh
可选关键字参数,该参数是当未指定水平对齐方式时默认使用的水平对齐方式,可用值为 'l'、'left'、'c'、'center'、'r'、'right',默认值为 'l'。
alignv
可选关键字参数,该参数是当未指定垂直对齐方式时默认使用的垂直对齐方式,可用值为 't'、'top'、'm'、'middle'、'b'、'bottom',默认值为 't'。
rowfixed
可选关键字参数,该参数是表格默认行高,可用值为 0 或小于 MAX_ROW_HEIGHT(见第21条:limit)的正整数,默认值为 0(自适应行高)。
colfixed
可选关键字参数,该参数是表格默认列宽,可用值为 0 或小于 MAX_COLUMN_WIDTH(见第21条:limit)的正整数,默认值为 0(自适应列宽)。
fbgc
可选关键字参数,该参数是默认的单元格前景色和背景色,参数值数据类型应为包含颜色代码(字符串)的列表(list)、元组(tuple)、集合(set),默认值为空。可用颜色代码见下表:
序号 | 颜色代码(字符串) | 代表颜色 |
---|
1 | fg_reset | 重置前景色和背景色 |
2 | fg_red | 前景红色 |
3 | fg_green | 前景绿色 |
4 | fg_yellow | 前景黄色 |
5 | fg_blue | 前景蓝色 |
6 | fg_magenta | 前景品红色(紫色) |
7 | fg_cyan | 前景青色 |
8 | fg_white | 前景白色 |
9 | fg_brightblack | 前景亮黑色(灰色) |
10 | fg_brightred | 前景亮红色 |
11 | fg_brightgreen | 前景亮绿色 |
12 | fg_brightyellow | 前景亮黄色 |
13 | fg_brightblue | 前景亮蓝色 |
14 | fg_brightmagenta | 前景亮品红色(亮紫色) |
15 | fg_brightcyan | 前景亮青色 |
16 | fg_brightwhite | 前景亮白色 |
17 | bg_reset | 重置前景色和背景色 |
18 | bg_red | 背景红色 |
19 | bg_green | 背景绿色 |
20 | bg_yellow | 背景黄色 |
21 | bg_blue | 背景蓝色 |
22 | bg_magenta | 背景品红色(紫色) |
23 | bg_cyan | 背景青色 |
24 | bg_white | 背景白色 |
25 | bg_brightblack | 背景亮黑色(灰色) |
26 | bg_brightred | 背景亮红色 |
27 | bg_brightgreen | 背景亮绿色 |
28 | bg_brightyellow | 背景亮黄色 |
29 | bg_brightblue | 背景亮蓝色 |
30 | bg_brightmagenta | 背景亮品红色(亮紫色) |
31 | bg_brightcyan | 背景亮青色 |
32 | bg_brightwhite | 背景亮白色 |
fill
可选关键字参数,该参数是进行 addRow 或 addColumn 操作时,如果要添加的行或列长度不足,则用 fill 补足。参数值数据类型不限,默认值为空字符串 ''。
style
可选关键字参数,该参数是默认的表格边框风格类型,参数值数据类型应为 Style 的类实例,可用值见以下 "Style 类"。
-
添加列方法 - addColumn
方法原型
addColumn(colindex, column=None)
-
colindex 为索引参数,表示要插入列的位置。
-
column 为要插入的列,参数值数据类型应为可迭代对象,子数据则不限类型。column 长度不足则用以上的类初始参数 fill 补足,过长则截断。
-
可以不带 colindex 参数,默认添加列为末尾列。
返回值
异常
示例
mytable = Table(['序号', '姓名', '学号', '分数', '备注'])
mytable.addColumn(3, ['科目', '此行会被截断'])
或者:
mytable = Table(['序号', '姓名', '学号', '分数', '备注'])
mytable.addColumn(['分数等级', '此行会被截断'])
-
添加行方法 - addRow
方法原型
addRow(rowindex, row=None)
-
colindex 为索引参数,表示要插入行的位置。
-
row 为要插入的行,数据类型应为可迭代对象,子数据则不限类型。row 长度不足则用以上的类初始参数 fill 补足,过长则截断。
-
可以不带 rowindex 参数,默认添加列为末尾列。
返回值
异常
示例:
mytable = Table(['序号', '姓名', '学号', '科目', '分数', '备注'])
mytable.addRow(1, (1, '小明', '123', '打瞌睡', 100))
-
获取列方法 - getColumn
方法原型
getColumn(colindex=-1)
返回值
异常
示例
mytable = Table(['序号', '姓名', '学号', '科目', '分数', '备注'])
mytable.addRow(1, (1, '小明', '123', '打瞌睡', 100))
col = mytable.getColumn(3)
print(col)
-
获取行方法 - getRow
方法原型
getRow(rowindex=-1)
返回值
异常
示例
mytable = Table(['序号', '姓名', '学号', '科目', '分数', '备注'])
mytable.addRow(1, (1, '小明', '123', '打瞌睡', 100))
row = mytable.getRow(0)
print(row)
-
获取单元格数据方法 - getItem
方法原型
getItem(rowindex=-1, colindex=-1)
返回值
异常
示例
mytable = Table(['序号', '姓名', '学号', '科目', '分数', '备注'])
mytable.addRow(1, (1, '小明', '123', '打瞌睡', 100))
item = mytable.getItem(1, 4)
print(item)
-
获取单元格字符串方法 - getString
示例
mytable = Table(['序号', '姓名', '学号', '科目', '分数', '备注'])
mytable.addRow(1, (1, '小明', '123', '打瞌睡', 100))
string = mytable.getString(1, 4)
print(string)
-
覆写单元格数据方法 - writeCell
方法原型
writeCell(rowindex=None, colindex=None, *, value)
-
rowindex 为索引参数,表示行索引。
-
colindex 为索引参数,表示列索引。
-
索引参数可以为 None 或整数。
-
value 为必选参数,为要写入的值,不限数据类型,必须以关键字参数方式调用。
-
可以不带 rowindex 、colindex 参数之一或全部,不带的参数默认为 None。
-
rowindex 和 colindex 参数可用值为 None 或整数,当 rowindex 为 None,colindex 不为 None 时,以 value 覆写 colindex 所代表的整列数据,反之亦然。两个参数都为 None 时,以 value 覆写表格全部数据。
-
当不带 rowindex 参数时,colindex 应以关键字参数方式调用,反之则不用。
返回值
异常
示例
mytable = Table(['序号', '姓名', '学号', '科目', '分数', '备注'])
mytable.addRow(1, (1, '小明', '123', '打瞌睡', 100))
mytable.writeCell(colindex=4, value=8)
mytable.writeCell(1, value=8)
mytable.writeCell(value=8)
mytable.writeCell(1, 2, value=8)
-
清空单元格方法 - clearCell
方法原型
clearCell(rowindex=None, colindex=None)
- 调用方法大致与 writeCell 方法相同,只是没有 value 参数。
-
测试表格内容是否为空方法 - isEmpty
方法原型
isEmpty(rowindex=None, colindex=None)
- 索引参数使用方法与 writeCell 方法相同。
-
测试表格内容是否全部非空方法 - isFull
方法原型
isFull(rowindex=None, colindex=None)
- 索引参数使用方法与 writeCell 方法相同。
-
删除列方法 - delColumn
方法原型
delColumn(colindex)
返回值
异常
示例
mytable = Table(['序号', '姓名', '学号', '科目', '分数', '备注'])
mytable.addRow(1, (1, '小明', '123', '打瞌睡', 100))
column = mytable.delColumn(5)
print(column)
-
删除行方法 - delRow
方法原型
delRow(rowindex)
返回值
异常
示例
mytable = Table(['序号', '姓名', '学号', '科目', '分数', '备注'])
mytable.addRow(1, (1, '小明', '123', '打瞌睡', 100))
row = mytable.delRow(0)
print(row)
-
设置列宽方法 - setColumnWidth
方法原型
setColumnWidth(colindex, width)
-
参数 colindex 为要设置列宽的列索引;width 为要设置的宽度,可用值为 None、0 或小于 MAX_COLUMN_WIDTH(见第21条:limit)的正整数,0 代表自适应列宽。
-
当 colindex 为 None 时,意为将所有列的列宽设置为 width。
-
当只填一个参数时,该参数默认为 width,意为将所有列的列宽设置为 width。
返回值
异常
-
当 colindex 不为整数时触发 TypeError 异常。
-
colindex 超出范围时触发 IndexError 异常。
-
width 大于 MAX_COLUMN_WIDTH 时触发 ValueError 异常。
示例
mytable = Table(['序号', '姓名', '学号', '科目', '分数', '备注'])
mytable.setColumnWidth(0, 0)
mytable.setColumnWidth(10)
-
设置行高方法 - setRowHeight
方法原型
setRowHeight(rowindex, height)
- 参数 rowindex 为要设置行高的行索引;height 为要设置的行高,可用值为 None、0 或小于 MAX_ROW_HEIGHT(见第21条:limit)的正整数,0 代表自适应行高。
- 当 rowindex 为 None 时,意为将所有行的行高设置为 height。
- 参数使用方法与 setColumnWidth 方法相同,只是索引参数变为行索引值。
-
设置单元格对齐方式方法 - setAlignment
方法原型
setAlignment(rowindex=None, colindex=None, *, alignh=None, alignv=None)
-
参数 rowindex 为行索引,可用值为 None 或整数;colindex 为列索引,可用值为 None 或整数。
-
参数 alignh 为水平对齐方式,alignv 为垂直对齐方式,它们的可用值见前面的“类初始参数”。
-
对于行索引 rowindex 和列索引 colindex,都不为 None 则表示设置对应单元格对齐方式;其中一个为 None 则表示设置整行或整列的对齐方式;都为 None 则设置整个表格所有的单元格对齐方式。
-
对于 水平对齐方式 alignh 和 垂直对齐方式 alignv,可以只调用其中一个,调用哪个就设置什么对齐方式,但都必须以关键字参数方式调用。
返回值
异常
示例
mytable = Table(['序号', '姓名', '学号', '科目', '分数', '备注'])
mytable.addRow(1, (1, '小明', '123', '打瞌睡', 100))
mytable.setAlignment(0, 1, alignh='c')
mytable.setAlignmemt(alignv='m')
mytable.setAlignment(None, None, alignv='m')
mytable.setAlignment(1, alignh='c', alignv='b')
mytable.setAlignment(colindex=2, alignh='r', alignv='m')
mytable.setAlignment(None, 2, alignh='r', alignv='m')
-
设置单元格前景色和背景色方法 - setColor
方法原型
setColor(rowindex=None, colindex=None, *, clrs=None)
示例
mytable = Table(['序号', '姓名', '学号', '科目', '分数', '备注'])
mytable.addRow(1, (1, '小明', '123', '打瞌睡', 100))
mytable.setColor(clrs={'fg_yellow', 'bg_red'})
mytable.setColor(None, 0, clrs={'fg_red'})
-
设置表格边框风格方法 - setStyle
方法原型
setStyle(style)
- 参数 style 的值应为 Style 类的实例,详细用法见末尾的“Style类”。
-
设置填充对象方法 - defaultFill
方法原型
defaultFill(fill='')
- 用于设置默认的填充对象,即添加行或列时,要添加的行或列的长度比原表格行或列的长度短时,使用 fill 填充至等长。
- 参数 fill, 数据类型不限,默认值为空字符串 ''。
-
输出表格方法 - show
方法原型
show(start=0, stop=None, *, color=True, header=True, footer=False, file=sys.stdout)
- start 和 stop 为要输出的表格的起始行和结束行(不包括标题行),数据类型应为整数。
- color 为是否要按设置的颜色将表格打印到终端上,值为 False 将按默认颜色打印(设置的颜色不会被清除,下次 color 为 True 时仍然可以按已经设置的颜色打印),数据类型应为布尔值。
- header 为是否显示标题行,数据类型应为布尔值。
- footer 为是否显示脚注,数据类型应为布尔值。
- file 为输出目标,可以是 Python 文件对象(Python file object),默认为标准输出流 sys.stdout。
- 以上参数可以自由选择调用,也可以全部使用默认;后 4 个参数只能以关键字参数方式调用。
-
最大行高列宽列数限制方法 - limit
方法原型
limit(item, value)
-
参数 item 只接受以下字符串:
MAX_ROW_HEIGHT
MAX_COLUMN_NUM
MAX_COLUMN_WIDTH
-
参数 value 只接受大于 1 小于 300 的整数。
-
当 item 值为 MAX_ROW_HEIGHT 时,设置行高最大限制为 value。
-
当 item 值为 MAX_COLUMN_NUM 时,设置列数最大限制为 value。
-
当 item 值为 MAX_COLUMN_WIDTH 时,设置列宽最大限制为 value。
-
设置默认颜色方法 - defaultClr
方法原型
defaultClr(*value)
异常
- 当 value 值不是字符串时触发 TypeError 异常。
- 当 value 值是不可用的颜色代码时触发 ValueError 异常。
-
设置默认对齐方式方法 - defaultAlign
方法原型
defaultAlign(*, alignh=None, alignv=None)
异常
- 当 alignh 为无效的值时触发 ValueError 异常。
- 当 alignv 为无效的值时触发 ValueError 异常。
-
重构 、刷新表格字符串形式方法 - refactorText
方法原型
refactorText(footer=False)
- footer 参数应为布尔型 bool(True、False),表示是否生成带脚注的表格字符串形式。
- 用于主动重构、刷新表格的字符串形式,一般情况下都会自动调用(比如调用 show、getText 方法时)。
- 如果你想获取 Table 类实例的“行”的字符串形式列表 rowTexts,则访问该属性前你应该先调用 refactorText 方法。
-
获取整个表格的字符串形式方法 - getText
方法原型
getText(start=0, stop=None, header=True, footer=False, color=False)
- 用于获取整个表格的字符串形式(即获取一个字符串,在终端上打印该字符串就是一个表格)。
- 参数 start、stop、header、footer、color 与 show 方法同名参数用法一致。
-
方法原型
setFoot(footnotes)
异常
- 当 footnotes 不是列表 list 或元组 tuple 中的一种时,触发 ValueError 异常。
- 当 footnotes 中元素有非字符串 str 时,触发 ValueError 异常。
-
方法原型
getFoot()
- 该方法返回当前 Table 类实例的脚注列表(包含字符串 str 的列表 list)。
- 外部可以用列表方法对该返回值进行操作,操作将直接对 Table 类实例的当前脚注列表生效。