tabulate库:我去年制了个表

功能

python的tabulate库提供打印表格数据的功能,支持以下数据类型:

  • 支持二维列表、二维迭代类型、字典迭代等类型
  • 支持NumPy二维数组、pandas.DataFrame类型

输出表格可以通过参数自定义风格

tabulate库的函数

tabulate库只有一个函数tabulate()

介绍一些常用参数:

  • table:表格数据或变量

  • headers:定义表格的表头

    headers=“firstrow”:将每个列表的第一行做表头

    headers=“keys”:使用字典索引的键做表头

  • showindex:行索引

    showindex=‘always’:显示索引,从0开始,'always’也可以改成如list等迭代类型来自定义索引

from tabulate import tabulate
table=[['张三','北京','男'],\
        ['李四','上海','男'],\
        ['洛丽','南宁','女'],]
header=['姓名','祖籍','性别']
print(tabulate(table,headers=header,showindex='always'))

输出如下:

    姓名    祖籍    性别
--  ----  ----  ----
 0  张三    北京    男
 1  李四    上海    男
 2  洛丽    南宁    女
  • tablefmt:用于定义表格风格,上例改成print(tabulate(table,headers=header,showindex=‘always’,tablefmt=‘grid’))的话就变成:
+----+------+------+------+
|    | 姓名   | 祖籍   | 性别   |
+====+======+======+======+
|  0 | 张三   | 北京   ||
+----+------+------+------+
|  1 | 李四   | 上海   ||
+----+------+------+------+
|  2 | 洛丽   | 南宁   ||
+----+------+------+------+

可用格式有:

  1. plain
  2. simple
  3. github
  4. grid
  5. fancy_grid
  6. pipe
  7. orgtbl
  8. jira
  9. presto
  10. pretty
  11. psql
  12. rst
  13. mediawiki
  14. moinmoin
  15. youtrack
  16. html"
  17. unsafehtml
  18. latex
  19. latex_raw
  20. latex_booktabs
  21. latex_longtable
  22. textile
  23. tsv
  • numalign:设置全表格数字的对齐方式,默认智能对齐

    可用的值有:right, center, left, None(用于禁用对齐)

print(tabulate([[1.2345],[12.345],[123.45],[1234.5],[12345]]))
print(tabulate([[1.2345],[12.345],[123.45],[1234.5],[12345]],numalign='left'))

输出如下:

----------
    1.2345
   12.345
  123.45
 1234.5
12345
----------
------
1.2345
12.345
123.45
1234.5
12345
------
  • colalign:文本对齐,可用的对齐方式和numalign,只不过colalign用来对齐文本而已

    格式如:colalign=(‘right’,‘left’,‘center’),表示第一列右对齐,第二列左对齐,第三列居中对齐

  • floatfmt:控制小数点后保留几位小数

print(tabulate([["pi",3.141593],["e",2.718282]], floatfmt=".3f"))

​ 输出:

--  -----
pi  3.142
e   2.718
--  -----

也可以像colalign的格式一样控制每一列不同的精确度

详情参考官方文档

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值