0
from tabulate import tabulate
table_header = ['Options', 'Explain','Impact']
table_data = []
for i in self.add_list:
    table_data.append( (somethingtoprint) )
pfile.write(tabulate(table_data, headers=table_header, tablefmt='grid'))

在这里,当 somethingtoprint 是很长的字符串时,输出格式已损坏。有没有什么方法可以使用更漂亮的表格?

更新:我的意思是表格内容太长了,会超过屏幕宽度,然后显示就会混乱。

喜欢

身份证名称

第123章

谢谢

4

1 回答 1

1

我无法评论。这个“很长的字符串”是什么样的?我在下面使用了这段代码,对我来说效果很好。我很长的字符串是 2,970 个字符。

table = [["Sun"*990 ,696000,1989100000],["Earth",6371,5973.6],
          ["Moon",1737,73.5],["Mars",3390,641.85]]
print(tabulate(table))

处理评论。是的,就是这样,因为字符串中没有换行符。我猜包的作者不想随意添加换行符。您可以插入自己的换行符,然后制表将处理它们。输出取决于字体大小和屏幕宽度。如果线的长度超过你的屏幕宽度,那么它会换行。我认为这就是你的意思,它看起来很糟糕。您可以输出到文件并查看它(确保关闭任何换行功能)。

这是一个如何做到这一点的例子。

from tabulate import tabulate
from pathlib import Path

table = [["Sun"*990,696000,1989100000],["Earth",6371,5973.6],
          ["Moon",1737,73.5],["Mars",3390,641.85]]

file_output = Path('test.txt')
file_output.write_text(tabulate(table))
于 2020-03-14T03:06:12.957 回答