Python制表:如何在制表中实现自动换行


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'))

这里,当要打印的内容是很长的字符串时,输出格式已损坏。有没有什么方法可以更漂亮地使用制表?

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

id名称

123"zzzzzzzzzz adsas daaaaaaaaaaa">

谢谢

我不能发表评论。这个"很长的绳子"是什么样子的?我在下面使用了这个代码,它对我来说很好。我的长字符串是2970个字符。

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))

解决方法:通过管道进入寻呼机并禁用包装,例如less -Smost