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模块,代码如下。

import pandas as pd
from texttable import Texttable

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

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

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

# 为学生成绩数据绘制表格
print('学生成绩表')
tb=Texttable() # 初始化Texttable
tb.set_cols_align(['l','r','r']) # 设置对齐方式
tb.set_cols_dtype(['i','i','i']) # 设置每列的数据类型为整型
tb.header(df.columns) # 设置表头
tb.add_rows(df.values,header=False) # 为表格添加数据
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

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 你可以使用Python中的pandas和matplotlib库来实现可视化表格输出。具体步骤如下: 1. 安装pandas和matplotlib库,可以使用pip安装: ``` pip install pandas matplotlib ``` 2. 创建数据集,使用pandas库的DataFrame类: ``` import pandas as pd data = {'name': ['Alice', 'Bob', 'Charlie', 'David'], 'age': [25, 32, 18, 47], 'salary': [5000, 8000, 2500, 10000]} df = pd.DataFrame(data) ``` 3. 使用matplotlib库绘制表格: ``` import matplotlib.pyplot as plt fig, ax = plt.subplots() ax.axis('off') ax.axis('tight') ax.table(cellText=df.values, colLabels=df.columns, loc='center') plt.show() ``` 这样就可以输出一个可视化的表格,其中cellText参数是数据集,colLabels参数是列名,loc参数表示表格的位置。 ### 回答2: 在Python中,我们可以使用各种库和工具来输出可视化表格。其中最常用的是pandas和matplotlib库。 首先,我们需要在代码中引入pandas库,可以使用以下命令进行安装: ``` pip install pandas ``` 然后,我们可以使用pandas库中的DataFrame函数来创建表格。DataFrame是一种二维的可变大小的数据结构,类似于Excel中的表格。我们可以使用以下代码创建一个简单的表格: ```python import pandas as pd data = {'姓名': ['小明', '小红', '小亮'], '年龄': [20, 25, 22], '性别': ['男', '女', '男']} df = pd.DataFrame(data) print(df) ``` 运行上述代码,我们可以看到如下输出: ``` 姓名 年龄 性别 0 小明 20 男 1 小红 25 女 2 小亮 22 男 ``` 接下来,我们可以使用matplotlib库来对表格进行可视化。使用以下命令安装matplotlib库: ``` pip install matplotlib ``` 可以使用以下代码将表格可视化为柱状图: ```python import pandas as pd import matplotlib.pyplot as plt data = {'姓名': ['小明', '小红', '小亮'], '年龄': [20, 25, 22], '性别': ['男', '女', '男']} df = pd.DataFrame(data) df.plot(x='姓名', y='年龄', kind='bar') plt.show() ``` 运行上述代码,我们将得到一个以姓名为横坐标、年龄为纵坐标的柱状图。通过这种方式,我们可以将表格数据以图形化的形式展示出来,方便观察和分析。 ### 回答3: Python 可以使用多种库来进行数据可视化,并创建表格。其中,比较常用的库是 pandas 和 matplotlib。 首先,我们需要导入必要的库。通过使用 pandas 库,我们可以轻松地创建和操作数据表格。并且,matplotlib 库可以帮助我们将数据可视化。 ```python import pandas as pd import matplotlib.pyplot as plt ``` 接下来,我们需要准备我们的数据。我们可以使用 pandas 的 DataFrame 对象来表示表格数据。DataFrame 是一个二维的、定长的、可变的数据表格,可以由不同的数据类型组成。 ```python data = {'姓名': ['小明', '小红', '小刚'], '年龄': [20, 22, 18], '成绩': [80, 90, 85]} df = pd.DataFrame(data) ``` 然后,我们可以使用 DataFrame 的 `to_string()` 方法将表格数据以字符串的形式输出。 ```python table = df.to_string(index=False) print(table) ``` 这样,我们就可以在控制台或是 Jupyter Notebook 中输出表格数据了。 另外,我们也可以使用 matplotlib 库来可视化数据表格。在这种情况下,我们还需要使用其他的库来支持输出。 ```python import numpy as np import seaborn as sns # 将数据转换为矩阵形式 matrix = df.values # 使用 seaborn 库来设置表格样式 sns.set(style="whitegrid") # 使用 matplotlib 库来绘制热力图 fig, ax = plt.subplots(figsize=(6, 4)) ax = sns.heatmap(matrix, annot=True, cmap="YlGnBu", cbar=False, fmt="g") plt.show() ``` 这段代码将会绘制一个热力图,其中的颜色代表了数据的大小。通过 `annot=True` 参数,热力图上会显示每个数据的数值。你可以根据自己的需求调整图表的大小和样式。 总的来说,Python 提供了很多的工具可以用来输出可视化的表格。通过结合不同的库,我们可以根据需求选择合适的表格样式和数据展示方式。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蜗牛数据分析

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值