Python中使用texttable为Pandas DataFrame添加表格边框输出

凌晨两点半
凌晨两点半
发布时间:2026-10-13 | 5人浏览过
原创

本文介绍如何在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中添加表格边框输出的方法分享完毕,希望能对大家有所帮助,也欢迎大家继续支持本站。

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表