当前位置:   article > 正文

Python为输出的数据绘制表格_python输出表格

python输出表格

Python开发环境中,输出数据时没有表格、没有对齐,当数据较多的情况下看起来非常的凌乱,估计很多人像我一样为这个事情而烦恼。

左图是我在PyCharm开发环境下输出的数据。下面我们通过Python的Texttable模块为数据添加表格框线,对比效果如图所示。

数据使用表格前后的对比效果

为输出的数据画表格主要使用Texttable模块,下面介绍几个关键的方法。

1.add_rows()方法

该方法用于为表格添加数据,主要参数及说明如下:

  • rows:要添加的数据,可以是返回数组的迭代器,或者是逐维数组。
  • header:指定是否将第一行作为表格的标题。

2.draw()方法

该方法用于绘制表格。

3.header()方法

该方法用于指定表的标题。

4.set_cols_align()方法

设置所需的列的对齐方式,主要参数及说明如下:

  • l:左对齐。
  • c:居中对齐。
  • r:右对齐。

5.set_cols_valign()方法

设置所需的列的垂直对齐方式,主要参数及说明如下:

  • t:顶端对齐。
  • m:居中对齐。
  • b:底部对齐。

6.set_cols_dtype()方法

该方法用于设置数据类型,主要参数及说明如下:

  • a:自动,尝试使用最合适的数据类型。
  • t:作为文本。
  • f:作为十进制格式的浮点数处理。
  • e:按指数格式处理为浮点数。
  • i:作为整型。

下面使用Texttable为DataFrame数据画表格,具体实现步骤如下:

(1)导入Pandas和Texttable模块,代码如下。

  1. import pandas as pd
  2. from texttable import Texttable

(2)使用DataFrame对象创建学生成绩数据,代码如下:

  1. # 创建学生成绩数据
  2. data = [[110,120,110],[130,130,130],[130,120,130]]
  3. columns = ['语文','数学','英语']
  4. df = pd.DataFrame(data=data,columns=columns)
  5. print('学生成绩表')
  6. print(df)

(3)为学生成绩数据绘制表格,代码如下:

  1. # 为学生成绩数据绘制表格
  2. print('学生成绩表')
  3. tb=Texttable() # 初始化Texttable
  4. tb.set_cols_align(['l','r','r']) # 设置对齐方式
  5. tb.set_cols_dtype(['i','i','i']) # 设置每列的数据类型为整型
  6. tb.header(df.columns) # 设置表头
  7. tb.add_rows(df.values,header=False) # 为表格添加数据
  8. print(tb.draw()) # 绘制表格

补充知识

Texttable模块所有方法介绍如下:

1max_width

整数,指定表的最大宽度

如果设置为0,大小是无限的,因此单元格不会被包裹

2add_row(self, array)

添加一行,单元格可以包含换行符和制表符。

3add_rows(self, rows, header=True)

添加多行,rows参数可以是返回数组的迭代器,或按维数组;header参数指定是否使用第一行作为标题。

4draw(self)

画表格,表作为一个完整的字符串返回。

5header(self, array)

指定表头。

6reset(self)

重置实例、重置行和头

7set_chars(self, array)

设置用于在行和列之间划线的字符,数组应该包含4个字段,[水平,垂直,角,页眉],默认值为['-''|' '+' '=']

8set_cols_align(self, array)

设置列的对齐方式,数组的元素必须为"l""c""r"

"l":列向左对齐

"c":列居中对齐

"r":列向右对齐

9set_cols_dtype(self, array)

设置列的数据类型,数组的元素应该是一个可调用对象或任意一个,值为"a""t""f""e""i"

"a":尝试使用最合适的数据类型

"t":作为文本处理

"f":在十进制格式中将其视为浮点数

"e":在指数格式中被视为浮点数

"i":视为整型

对于给定的任何值,应返回格式化字符串。默认情况下,对每个列使用自动数据类型。

10set_cols_valign(self, array)

设置列垂直对齐方式,数组的元素必须为"t""m""b"

"t":列与单元格顶部对齐

"m":列在单元格中间对齐

"b":在单元格底部对齐的列

11set_cols_width(self, array)

设置所需的列宽度,数组的元素应该是整数,指定每列的宽度。例如[10,20,30]

12set_deco(self, deco)

修饰表格,deco参数值如下:

  1. Texttable.BORDER:表格周围的边框
  2. Texttable.HEADER:页眉下面的水平线
  3. Texttable.HLINES:行与行之间的水平线
  4. Texttable.VLINES:列之间的竖线。

所有选项默认开启

例如:

Texttable.BORDER | Texttable.HEADER

13set_header_align(self, array)

设置页眉对齐的方式,数组的元素必须为"l""c""r"

"l":列向左对齐

"c":列居中对齐

"r":列向右对齐

14set_max_width(self, max_width)

设置表的最大宽度,max_width参数是一个整数,指定表的最大宽度。如果设置为0,大小是无限的。

15set_precision(self, width)

设置浮点/指数格式所需的精度,width参数必须是一个整数>= 0,默认值设置为3

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/993060
推荐阅读
相关标签
  

闽ICP备14008679号