gpt4 book ai didi

python - 制表 - 如何级联表格

转载 作者:行者123 更新时间:2023-11-28 18:28:32 27 4
gpt4 key购买 nike

我想使用制表法将两个表格并排显示。

我的方法:

test_table1 = tabulate([['Alice', 24], ['Bob', 19]])
test_table2 = tabulate([['Hans', 45], ['John', 38]])
master_headers = ["table1", "table2"]
master_table = tabulate([[test_table1, test_table2]],
master_headers, tablefmt="simple")
print(master_table)

但这会导致两个表都显示在 table1 的列中。

参见: enter image description here

问题:如何在 python 中级联表,最好使用制表(或类似的库)?

提前致谢!

手袋

最佳答案

我真的不知道这是否是您得到的最佳选择,但这就是我想出的

test_table1 = str(tabulate([['Alice', 24], ['Bob', 19]])).splitlines()
test_table2 = str(tabulate([['Hans', 45], ['John', 38]])).splitlines()
master_headers = ["table1", "table2"]
master_table = tabulate([list(item) for item in zip(test_table1,test_table2)],
master_headers, tablefmt="simple")
print(master_table)

输出:

table1     table2
--------- --------
----- -- ---- --
Alice 24 Hans 45
Bob 19 John 38
----- -- ---- --

解释:

目的是将字符串数组传递给 master_tabletabulate,就像对 test_table1test_table2< 所做的那样/em>

使用 .splitlines()

>>>str(tabulate([['Alice', 24], ['Bob', 19]]))
>>>'----- --\nAlice 24\nBob 19\n----- --'
>>>str(tabulate([['Alice', 24], ['Bob', 19]])).splitlines()
>>>['----- --', 'Alice 24', 'Bob 19', '----- --']

所以我们有 ['----- --', 'Alice 24', 'Bob 19', '----- --'][' ---- --', 'Hans 45', 'John 38', '---- --'],但我们不能那样传递它们,因为输出会很奇怪:

table1     table2
--------- --------- --------- ---------
----- -- Alice 24 Bob 19 ----- --
---- -- Hans 45 John 38 ---- --

所以我们需要zip这些列表,并将值转换为list,因为zip返回listtuple 对象,这就是这里发生的事情:

>>>[list(item) for item in zip(test_table1,test_table2)]
>>>[['----- --', '---- --'],
['Alice 24', 'Hans 45'],
['Bob 19', 'John 38'],
['----- --', '---- --']]

这就是 tabulate 轻松获取数据并按照您的需要放置的方式。

关于python - 制表 - 如何级联表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39321014/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com