Python 如何将列作为第一列添加到prettytable
我用prettytable模块做了一些tablePython 如何将列作为第一列添加到prettytable,python,Python,我用prettytable模块做了一些tablex。现在我想给它添加一列,但我想把它作为第一列添加,我该怎么做 方法add_column将我的专栏放在最后一个位置。从阅读文章中有两种方法。您只需从头开始重新生成表,确保首先添加有问题的列 第二种可能是访问组成PrettyTable的数据结构并手动修改它们。请注意,以这种方式所犯的任何错误都不会被围绕默认add\u列的验证构建捕获 如果我们有桌子 from prettytable import PrettyTable x = PrettyTabl
x
。现在我想给它添加一列,但我想把它作为第一列添加,我该怎么做
方法add_column
将我的专栏放在最后一个位置。从阅读文章中有两种方法。您只需从头开始重新生成表,确保首先添加有问题的列
第二种可能是访问组成PrettyTable的数据结构并手动修改它们。请注意,以这种方式所犯的任何错误都不会被围绕默认add\u列的验证构建捕获
如果我们有桌子
from prettytable import PrettyTable
x = PrettyTable()
x.field_names = ["City name", "Area", "Population", "Annual Rainfall"]
x.add_row(["Adelaide",1295, 1158259, 600.5])
x.add_row(["Brisbane",5905, 1857594, 1146.4])
x.add_row(["Darwin", 112, 120900, 1714.7])
x.add_row(["Hobart", 1357, 205556, 619.5])
x.add_row(["Sydney", 2058, 4336374, 1214.8])
x.add_row(["Melbourne", 1566, 3806092, 646.9])
x.add_row(["Perth", 5386, 1554769, 869.4])
print(x)
+-----------+------+------------+-----------------+
| City name | Area | Population | Annual Rainfall |
+-----------+------+------------+-----------------+
| Adelaide | 1295 | 1158259 | 600.5 |
| Brisbane | 5905 | 1857594 | 1146.4 |
| Darwin | 112 | 120900 | 1714.7 |
| Hobart | 1357 | 205556 | 619.5 |
| Sydney | 2058 | 4336374 | 1214.8 |
| Melbourne | 1566 | 3806092 | 646.9 |
| Perth | 5386 | 1554769 | 869.4 |
+-----------+------+------------+-----------------+
在开始处插入列的步骤
fieldname = 'Number'
x._field_names.insert(0, fieldname)
x._align[fieldname] = 'c'
x._valign[fieldname] = 't'
for i, _ in enumerate(x._rows):
x._rows[i].insert(0, i)
print(x)
+--------+-----------+------+------------+-----------------+
| Number | City name | Area | Population | Annual Rainfall |
+--------+-----------+------+------------+-----------------+
| 0 | Adelaide | 1295 | 1158259 | 600.5 |
| 1 | Brisbane | 5905 | 1857594 | 1146.4 |
| 2 | Darwin | 112 | 120900 | 1714.7 |
| 3 | Hobart | 1357 | 205556 | 619.5 |
| 4 | Sydney | 2058 | 4336374 | 1214.8 |
| 5 | Melbourne | 1566 | 3806092 | 646.9 |
| 6 | Perth | 5386 | 1554769 | 869.4 |
+--------+-----------+------+------------+-----------------+
现在,您可以使用我的示例来说明如何添加字段Number
,以添加您选择的字段
我仍然强烈建议您在创建表之前处理数据,然后再处理PrettyTable。第一个对我来说是有问题的,因为我创建了另一个行上带有循环的列。另一个似乎不起作用,其输出不改变顺序:(你是正确的,第二个选项不起作用幸运的是我找到了一种解决问题的方法,并将其放在我编辑的答案中,而不是不起作用的解决方案。