如果能够将我们的无序数据快速组织成更易读的格式,对于数据分析非常有帮助。 Python 提供了将某些表格数据类型轻松转换为格式良好的纯文本表格的能力,这就是 tabulate 库。喜欢本文记得收藏、点赞、关注。

闲话少说,我们直接开始吧。

准备工作

2.1.安装tabulate库

安装tabulate库非常容易,使用pip即可安装,代码如下:

pip install tabulate

2.2.导入tabulate函数

接着我们需要导入我们需要的tabulte函数,如下:

from tabulate import tabulate

准备工作做好后,接下来我们来举个栗子。

使用list生成表格

不妨我们假设我们有以下数据:

table = [['First Name', 'Last Name', 'Age'],
['John', 'Smith', 39],
['Mary', 'Jane', 25],
['Jennifer', 'Doe', 28]]

接着我们可以使用 tabulate 函数将上述数据组织成一个更易读的表格形式,「代码如下:」

print(tabulate(table))

结果如下:

由于上述list中的第一个列表包含每列的名称,我们可以使用以下参数将列名单独显示出来,代码如下:

print(tabulate(table,headers='firstrow'))

结果如下:

tabulate 函数还包提供一个 tablefmt 参数,它允许我们进一步改进表格的外观,代码如下:

print(tabulate(table, headers='firstrow', tablefmt='grid'))

结果如下:

相比grid,我更喜欢对 tablefmt 使用fancy_grid参数,其表现形式如下:

print(tabulate(table,headers='firstrow',tablefmt='fancy_grid'))

结果如下:

使用dict生成表格

当然,在Python中我们也可以使用字典来生成相应的表格。

「代码如下:」

info={'First Name':['John','Mary','Jennifer'],'Last Name':['Smith','Jane','Doe'],'Age':[39,25,28]}

在字典的情况下,键通常是列的标题,值将是这些列的元素取值。我们通常通过传递“keys”作为 headers 参数的参数来指定键是表格的标题:

print(tabulate(info,headers='keys'))

结果如下:

当然,此时我们也可以使用 tablefmt 参数来改善表格的外观,代码如下:

print(tabulate(info,headers='keys',tablefmt='fancy_grid'))

结果如下:

增加索引列

进一步来说,我们还可以使用showindex参数来向表格中添加索引列,

代码如下:

我们可以通过向 showindex 参数传入一个可迭代对象来添加自定义索引。例如,如果我们希望索引从 1 开始,我们可以传入一个范围对象作为参数:

缺失值处理

如果我们从字典中移走'Jennifer',此时我们的表格将会包含一个空白单元格,代码如下:

print(tabulate({'First Name':['John','Mary'],'Last Name':['Smith','Jane','Doe'],'Age':[39,25,28]},headers="keys",tablefmt='fancy_grid'))

结果如下:

有时候,我们觉得缺失值用空白格表示不太美观,此时我们可以设置默认值来显示,代码如下:

print(tabulate({'First Name':['John','Mary'],'Last Name':['Smith','Jane','Doe'],'Age':[39,25,28]},headers="keys",tablefmt='fancy_grid'))

结果如下:

总结

本文介绍了在python中使用tabulate库来创建表格,并针对输出形式进行不断改进来美化输出效果,并给出了代码示例。

[Python]tabulate可如此优雅地创建表格相关推荐

  1. 在Python中如何优雅地创建表格

    1. 引言 如果能够将我们的无序数据快速组织成更易读的格式,对于数据分析非常有帮助. Python 提供了将某些表格数据类型轻松转换为格式良好的纯文本表格的能力,这就是 tabulate 库. 闲话少 ...

  2. Python代码创建表格

    Python代码创建表格 简介 在数据分析和处理的工作中,常常需要将数据整理成表格的形式,方便查看和分析.Python作为一门流行的编程语言,提供了多种创建表格的工具和库,极大地方便了数据处理的工作. ...

  3. python subprocess-更优雅的创建子进程

    简介 如PEP324所言,在任何编程语言中,启动进程都是非常常见的任务,python也是如此,而不正确的启动进程方式会给程序带来很大安全风险.Subprocess模块开发之前,标准库已有大量用于进程创 ...

  4. python爬虫之创建表格

    文章目录 1.xlwt模块 2.Workbook 3.add_sheet 4.表格写入 5.保存数据 1.xlwt模块 在创建表格excle之前,我们需要下载xlwt模块. 在终端输入 pip ins ...

  5. python 处理word文档创建表格

    本文主要讲解了怎么快速在word里创建表格,代码通俗易懂,一学就会 from docx import Documentdocument=Document() #在word里创建一个8*5的表格 tab ...

  6. python生成word文档的表格_说说如何使用 Python 在 word 中创建表格

    我们可以使用 python-docx 模块,实现在 word 中创建表格. 请看下面这段代码: table = doc.add_table(rows=1, cols=len(titles)) # 设置 ...

  7. javascript 动态创建表格:新增、删除行和单元格

    2019独角兽企业重金招聘Python工程师标准>>> 利用js来动态创建表格有两种格式,appendChild()和insertRow.insertCell().两种方式其实差不多 ...

  8. 如何优雅的创建__init__.py文件?

    点击关注我哦 一篇文章带你了解如何优雅的创建__init__.py文件 什么是 Python 包? <数据科学家的模块化编程指南>文章中,我们介绍了:Python 包只是一个有组织的 Py ...

  9. python处理word表格excel_利用Python将excel数据读取到word表格

    在工作中可能需要两者对excel和word进行转化,今天介绍例如Python 将excel转word表格 看图,我需要将这份excel文档转word表格: 思路: 1.创建需要的表格: 2.读取exc ...

最新文章

  1. Linux上oracle的安装
  2. Keil uVision5 下载程序 add flash programming algorithm选项缺少需要的下载算法的解决办法
  3. linux Makefile引用与环境变量
  4. 2020-07-16 CVPR2020 VL论文讨论(5) 笔记
  5. 活动安排问题--贪心算法
  6. c++静态库和动态库
  7. vsftpd服务与客户机的传输和下载
  8. 配置 --- vscode自定义代码段Snippets
  9. 22.敏捷估计与规划——Why Agile Planning Works笔记
  10. MyEclipse修改Servlet模板
  11. UI实用素材|统计界面模板
  12. 跟我学android-Notification
  13. 顶点计划:辅导员与学生关系讨论
  14. listview优化几种写法(原创)
  15. 技术经理成长复盘-聊聊核心骨干
  16. LIN雨量传感器:拆解最低配的传感器8U0955559
  17. git 拉取指定的远程分支(三种方式)
  18. java excel单元格背景色,『excel表格尺寸设置』Java如何设置被导出excel单元格的样式?比如背景色,大小什么的?...
  19. QT-事件机制学习笔记
  20. 怎么看光驱有没有带刻录DVD功能

热门文章

  1. C++-生日-星座-性格查询
  2. APP获取气象局所有城市气象预警信息接口
  3. 数据库操作之插入一行数据
  4. Win10 8265ac 蓝牙丢失的修复[2019.8.13]
  5. 全面讨论泛化 (generalization) 和正则化 (regularization)
  6. turtle绘画-移动落笔点(改变初始原点)
  7. 基于天翼1号2021的5G切片创新应用在广州完成端到端现网验证
  8. oracle11g ora 29927,listagg函数 ORA-01489 result of string concatenation is too long的解决办法 【博森瑞】...
  9. C++ primer 一、二、三章
  10. 软件工程是不是教不怎么会的写程序的人开发软件?