You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PrettyTable设置vrules和hrules为NONE不生效问题咨询

问题原因分析
  • 你对hrules、vrules属性的修改都是作用在临时新建的PrettyTable()实例上,这部分临时实例修改完就被销毁了,完全没有作用到你实际使用的myTable实例上,所以配置不生效。
  • 额外报错隐患:代码中调用了operator.itemgetter但没有导入operator模块,直接运行会触发NameError。
修复后的可用代码
from prettytable import PrettyTable, FRAME, HEADER, NONE
import operator

# 初始化自己要用的表格实例
myTable = PrettyTable(["Student Name", "Class", "Section", "Percentage"])
myTable.title = 'Big Bang Theory'
# 直接修改当前实例的横竖线规则
myTable.hrules = NONE
myTable.vrules = NONE

# 添加行数据
myTable.add_row(["Leanord", "X", "B", "91.2 %"])
myTable.add_row(["Penny", "X", "C", "63.5 %"])
myTable.add_row(["Howard", "X", "A", "90.23 %"])
myTable.add_row(["Bernadette", "X", "D", "92.7 %"])
myTable.add_row(["Sheldon", "X", "A", "98.2 %"])
myTable.add_row(["Raj", "X", "B", "88.1 %"])
myTable.add_row(["Amy", "X", "B", "95.0 %"])

print(myTable.get_string(sort_key=operator.itemgetter(1, 3), sortby="Section"))
输出效果
Big Bang Theory               
 Student Name  Class  Section  Percentage 
     Amy        X       B       95.0 %   
  Bernadette    X       D       92.7 %   
    Howard      X       A      90.23 %   
   Leanord      X       B       91.2 %   
    Penny       X       C       63.5 %   
     Raj        X       B       88.1 %   
   Sheldon      X       A       98.2 %   

如果想要连外层的边框也一起去掉,可以额外加一行配置myTable.border = False。

内容的提问来源于stack exchange,提问作者Slartibartfast

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 23:54:03