Python中使用texttable为Pandas DataFrame添加表格边框输出
本文介绍如何在Python中利用texttable库为Pandas DataFrame格式化输出添加表格边框。通过设置列对齐方式(左、中、右)和数据类型(文本、整数等),并使用header=False参数避免首行被误识别为标题,从而实现美观的表格展示。
将DataFrame对象嵌入texttable组件中,可以实现格式化的表格输出效果。
data=[{"name":"Amay","age":20,"result":80},
{"name":"Tom","age":32,"result":90}]
df=pd.DataFrame(data,columns=['name','age','result'])
print(df)
假设存在如下DataFrame数据,现在需要为其添加表格边框。这里采用texttable库来实现这一功能。

tb=Texttable() tb.set_cols_align(['l','r','r']) tb.set_cols_dtype(['t','i','i']) tb.header(df.columns.get_values()) tb.add_rows(df.values,header=False) ''' header=False表示不将第一参数的第一行作为标题, 这样我们之前的添加的标题就会起作用了 ''' print(tb.draw())
上述代码展示了如何设置表格输出的对齐格式以及各列的数据类型。其中,set_cols_align方法用于控制水平方向上的对齐方式:'l'代表左对齐,'c'代表居中对齐,'r'代表右对齐。
set_col_dtype方法用于指定列的数据类型,具体类型对应关系如下:
['t', # text 'f', # float (decimal) 'e', # float (exponent) 'i', # integer 'a' # automatic]
tb.header(df.columns.get_values()) 这行代码用于添加表格标题。tb.add_rows(df.values, header=False) 这行代码用于添加数据行。如果不设置 header=False,默认情况下系统会将数据行的第一行自动识别为标题行。此时返回的结果如下:

之前手动指定的标题未能生效,因为系统默认将数据的第一行当作了标题。
当设置了 header=False 参数后,结果便正确显示:

以下是完整的代码示例:
# -*- coding: utf-8 -*-
"""
Created on Tue Jan 8 16:47:17 2019
Python Version:3.6.7
@author: Fanxiaolei
"""
import pandas as pd
from texttable import Texttable
data=[{"name":"Amay","age":20,"result":80},
{"name":"Tom","age":32,"result":90}]
df=pd.DataFrame(data,columns=['name','age','result'])
print(df)
print('添加表格线之后:')
tb=Texttable()
tb.set_cols_align(['l','r','r'])
tb.set_cols_dtype(['t','i','i'])
tb.header(df.columns.get_values())
tb.add_rows(df.values,header=False)
'''
header=False表示不将第一参数的第一行作为标题,
这样我们之前的添加的标题就会起作用了
'''
print(tb.draw())
以上关于在Pandas DataFrame中添加表格边框输出的方法分享完毕,希望能对大家有所帮助,也欢迎大家继续支持本站。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













