Python表格:如何在表格中实现自动对齐?

2024-10-01 04:56:10 发布

您现在位置: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'))

这里,当somethingtoprint是很长的字符串时,输出格式已损坏。有没有办法使用更漂亮的表格

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

身份证名称

123“ZZZZZZZZZZZZZZZZZZZZZZAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

多谢各位


Tags: infromimportselfaddfordatatable
1条回答
网友
1楼 · 发布于 2024-10-01 04:56:10

我不能评论。这个“很长的绳子”看起来像什么?我使用了下面的代码,它对我来说很好。我的很长的字符串是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))

相关问题 更多 >