首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python tabulate:如何在tabulate中实现自动划线?

Python tabulate:如何在tabulate中实现自动划线?
EN

Stack Overflow用户
提问于 2020-03-14 10:44:23
回答 1查看 757关注 0票数 0
代码语言:javascript
复制
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'))

在这里,当某个string是非常长的字符串时,输出格式就会损坏。有没有更漂亮的tabulate的用法?

更新:我的意思是表格内容太长了,会超出屏幕的宽度,那么显示就会变得混乱。

喜欢

id名称

123 "zzzzzzzzzzzzzzzzadsas daaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa“

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-03-14 11:06:13

我无可奉告。这个“很长的字符串”是什么样子的?我使用了下面的代码,它对我来说工作得很好。我的字符串非常长,有2970个字符。

代码语言:javascript
复制
table = [["Sun"*990 ,696000,1989100000],["Earth",6371,5973.6],
          ["Moon",1737,73.5],["Mars",3390,641.85]]
print(tabulate(table))

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

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

代码语言:javascript
复制
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))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60679297

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档