怎么将表格打印在一张纸上,怎么把一个表格打印出来

  怎么将表格打印在一张纸上,怎么把一个表格打印出来

  本文翻译自:将列表打印为表格数据

  我是计算机编程语言的新手,现在正在努力将我的数据很好地格式化以便打印输出。我是计算机编程语言的新手,现在正努力为打印输出很好地格式化数据。

  我有一个用于两个标题的列表,和一个应该是表格内容的矩阵。我有一个用于两个标题的列表,以及一个应该作为表内容的矩阵像这样:像这样:

  teams_list=[曼联,曼城,热刺]data=np.array([[1,2,1],[0,1,0],[2,4,2]])注意,标题名不一定长度相同。请注意,标题名称不一定是相同的长度不过,数据条目都是整数。数据条目都是整数。

  现在,我想用表格的形式来表示它,就像这样:现在,我想以表格格式表示此内容,如下所示:

  曼联曼城热刺曼联曼城1 0 0曼城1 1 0热刺0 1 2我有预感这其中一定有数据结构,但我找不到。我有一个预感,为此必须有一个数据结构,但是我找不到它我尝试过使用字典和格式化打印,我尝试过使用缩进的为循环,我尝试过作为字符串打印。我尝试使用字典并格式化打印,尝试使用缩进进行为循环,并尝试将打印为字符串。

  我相信一定有一个非常简单的方法来做到这一点,但我可能因为缺乏经验而错过了它。我确信必须有一种非常简单的方法来执行此操作,但是由于缺乏经验,我可能会错过它。

  #1楼参考:https://栈oom。com/question/e0ji/将列表打印为表格数据

  #2楼计算机编程语言实际上使这变得非常容易。计算机编程语言实际上使这变得非常容易。

  大约就像是

  对于范围(10)中的I:打印 %-12i %-12i %(10 * * I,20 ** i)将有输出将有输出

  1 1 10 20 100 400 1000 8000 10000 160000 1000000 32000000 100000000 640000000 1280000000000 1000000000 2560000000000010000000000 10000000000000字符串内的%基本上是字符串中的%本质上是一个转义字符,其后的字符告诉大蟒数据应采用哪种格式字符串外面和后面的%告诉大蟒你打算使用前面的字符串作为格式字符串,后面的数据应该放入指定的格式中。字符串前后的%告诉大蟒您打算将前一个字符串用作格式字符串,并将以下数据放入指定的格式中。

  在这种情况下,我使用了" % 12i "两次。在这种情况下,我两次使用了“-12i”。要分解每个部分:分解每个部分:

  -(左对齐) 12 (给这部分输出多少空间)‘我’(我们打印一个整数)来自文档:https://个文档。python。org/2/library/stdtype。html #字符串格式从文档中:https://docs。python。org/2/library/stdtype。html #字符串格式

  #3楼为此,有一些轻量级的有用的大蟒包:有一些轻巧实用的大蟒软件包可用于此目的:

  

1. tabulate

:https://pypi . python . org/pypi/制表

1.制表

:https://pypi。python。org/pypi/制表

  从制表导入制表打印(制表([[壮观的小土豆,24],[Bob ,19]],headers=[Name , Age])) Name Age - -壮观的小土豆24鲍勃19制表有许多选项来指定标题和表格格式。制表具有许多选项来指定标题和表格式。

  打印(制表([[壮观的小土豆,24],[鲍勃,19]],headers=[姓名,年龄],table fmt=组织TBL )姓名年龄 - 壮观的小土豆 24 鲍勃 19

2. PrettyTable

:https://pypi . python . org/pypi/pretty table

  从pretty table导入pretty table=pretty table([ Name , Age])t.add_row([壮观的小土豆,24])t.add_row([Bob ,19])print(t) - - 姓名年龄-壮观的小土豆 24 鲍勃 19 - -漂亮的桌子具有从csv、html、sql数据库读取数据的选项。漂亮的桌子具有从csv、html、sql数据库读取数据的选项你也可以选择数据子集,排序表格和改变表格样式。您还可以选择数据子集,对表进行排序和更改表样式。

  https://pypi.python.org/pypi/texttable

2. PrettyTable

:https:

//pypi.python.org/pypi/PrettyTable

  从文本表格导入text table=text table()t . add _ rows([[ Name , Age],[壮观的小土豆,24],[Bob ,19]])print(t . draw())-姓名年龄==========壮观的小土豆 24 - 鲍勃 19 -使用文本表格,您可以控制水平/垂直对齐、边框样式和数据类型。使用文本表格,您可以控制水平/垂直对齐,边框样式和数据类型。

  https://github.com/nschloe/termtables

3. texttable

。com/ns Chloe/术语表

  将术语表作为ttstring=tt.to_string( [[导入壮观的小土豆,24],[鲍勃,19]],header=[姓名,年龄],style=TT。风格。ascii _ thin _ double,# alignment=ll ,# padding=(0,1),)print(string)- Name Age =========壮观的小土豆 24 - 鲍勃 19 -使用文本表格,您可以控制水平/垂直对齐、边框样式和数据类型。使用文本表格,您可以控制水平/垂直对齐,边框样式和数据类型。

  其他选项:其他选项:

  终端表很容易在终端/控制台应用程序中从字符串列表中绘制表格。终端表从字符串列表中轻松在终端/控制台应用程序中绘制表支持多行行。支持多行可征收的可以通过内置的扩展阅读器类读写各种美国信息交换标准代码表格式。可征收的可以通过内置的扩展阅读器类读取和写入各种美国信息交换标准代码表格式。 #4楼更新斯文马尔纳克的答案以在Python 3.4中工作:更新斯文马尔纳克的答案以在Python 3.4中工作:

  row _ format= {:15 } *(len(teams _ list)1)print(row _ format。format(,*teams_list))for team,row in zip(teams_list,data):print(row _ format)。格式(团队,*排))#5楼当我这样做时,我喜欢对表格的格式细节有一些控制。当我这样做时,我希望对表格的格式化细节有一些控制特别是,我希望标题单元格有不同于正文单元格的格式,并且表格的列宽只有每个单元格需要的宽度。特别是,我希望标头单元格具有与主体单元格不同的格式,并且表列的宽度仅应满足每个单元格所需的宽度以下是我的解决方案:这是我的解决方案:

  def format_matrix(header,matrix,top_format,left_format,cell_format,row_delim,col _ delim):table=[[ ]header][[name]row for name,zip中的row(header,matrix)]table _ format=[[{:^{}}]len(header)*[top格式]] len(matrix)*[[left _ format]len(header)*[cell _ format]]col _ widths=[max(len(format。format(cell,0))表示格式,zip中的-1],[0,1,0,5],[2,4,2,2],[0,1,0,6]],{:^{}},列的单元格(col _ format,col)){:{ } } , {:{}.3f} , n , )下面是输出:这是输出:

  曼城Utd 曼城 T热刺真长柱曼城Utd 1.000 2.000 1.000 -1.000曼城 0.000 1.000 0.000 5.000吨热刺 2.000 4.000 2.000 2.000真长柱 0.000 1.000 0.000 6.000#6楼纯Python 3纯Python 3

  def print_table(data,cols,wide): 在给定宽度的列上打印格式化的数据. n,r=divmod(len(data),cols) pat={{:{}} .格式(宽)行=n .join(pat * cols for _ in range(n))last _ line=pat * r print(line。格式(*数据))打印(last _ line。format(* data[n * cols:]))data=[str(I for I in range(27)]print _ table(data,6,12)将打印将打印

  0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26

怎么将表格打印在一张纸上,怎么把一个表格打印出来