使用tabulate库输出的表格格式混乱,求规整对齐方法
解决tabulate库输出表格行列错位问题
问题原因
你的代码里data变量定义的末尾多了一个多余的逗号,导致data变成仅包含单个列表元素的元组,tabulate解析时错误地把这个元组当成单行数据,最终出现所有内容挤在一行的错位格式。
修正后的代码
from tabulate import tabulate # 模拟示例数据(替换为你的实际变量即可) stdvzero3, stdavgzero3 = 0.1027, 387.4733 stdva3, stdavga3 = 27.756, 546.123 stdvb3, stdavgb3 = 173.254, 4608.491 stdvc3, stdavgc3 = 52.377, 847.775 stdvd3, stdavgd3 = 170.961, 1623.217 stdve3, stdavge3 = 491.289, 2938.067 stdvf3, stdavgf3 = 173.254, 4608.491 # 去掉末尾多余的逗号,规整列表格式 data = [ [1, 'Zero', "%0.4f" % stdvzero3, "%0.4f" % stdavgzero3], [2,'Std A', "%0.3f" % stdva3, "%0.3f" % stdavga3], [3,'Std B', "%0.3f" % stdvb3, "%0.3f" % stdavgb3], [4,'Std C', "%0.3f" % stdvc3, "%0.3f" % stdavgc3], [5,'Std D', "%0.3f" % stdvd3, "%0.3f" % stdavgd3], [6,'Std E', "%0.3f" % stdve3, "%0.3f" % stdavge3 ], [7,'Std F', "%0.3f" % stdvf3, "%0.3f" % stdavgf3] ] print(tabulate(data, headers=["No", "Type", "STD_N2O", "Mean_N2O"], tablefmt='simple'))
正确输出效果
No Type STD_N2O Mean_N2O ---- ------ --------- ----------- 1 Zero 0.1027 387.4733 2 Std A 27.756 546.123 3 Std B 173.254 4608.491 4 Std C 52.377 847.775 5 Std D 170.961 1623.217 6 Std E 491.289 2938.067 7 Std F 173.254 4608.491
内容的提问来源于stack exchange,提问作者Zahra
相关产品推荐
相关产品推荐

