python - 漂亮的 vrules 和 hrules 无人能及

标签 python prettytable

我有以下代码,可以生成漂亮的表格。我想做的是删除 vrules 或 hrules。我的代码没有做任何事情。你能告诉我为什么吗?只是为了确保,vrules 是垂直线

from prettytable import PrettyTable, FRAME, HEADER, NONE
PrettyTable().hrules = NONE
# x = PrettyTable()
# x.hrules = NONE
myTable = PrettyTable(["Student Name", "Class", "Section", "Percentage"])
myTable.title = 'Big Bang Theory'
  
# Add rows
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 %"])
PrettyTable().vrules = NONE
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 %   |
+--------------+-------+---------+------------+

最佳答案

根据docs你可以:

>>> myTable = PrettyTable()
>>> myTable.hrules, myTable.vrules = NONE, NONE
>>> myTable.title = 'Big Bang Theory' # this won't show, see below
>>> myTable.field_names = ["Student Name", "Class", "Section", "Percentage"]
>>> 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"))
  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 %  

上面有问题。也就是说,它将显示标题。要显示标题,您需要安装 PTable 。一旦你这样做了上面的代码,就会产生:

                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 %    

关于python - 漂亮的 vrules 和 hrules 无人能及,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69745622/

相关文章:

python - 1and1安装python不起作用

python - 对于什么函数 f df.apply(f) 将所有负值转换为零?

Python-显示表格中的常用词并跳过某些词

python - 使用 pip 在 ubuntu 上安装 prettytable 时出错

python - 如何在控制台中向已打印的表格添加新行?

python - 如何有效地清除 pygame alpha 层?

python - QMediaPlayer setPlaybackRate > 1 会导致高音调音频

python - 在Python中的单个列表上使用多个变量(for循环)

python - 使用 prettytable 时如何获取单元格的值