在Python中如何优雅地创建表格的实现

目录
  • 1. 引言
  • 2. 准备工作
  • 3. 举个栗子
    • 3.1 使用list生成表格
    • 3.2 使用dict生成表格
    • 3.3 增加索引列
    • 3.4 缺失值处理
  • 4. 总结

1. 引言

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

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

2. 准备工作

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

pip install tabulate

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

from tabulate import tabulate

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

3. 举个栗子

3.1 使用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'))

结果如下:

3.2 使用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'))

输出如下:

3.3 增加索引列

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

3.4 缺失值处理

如果我们从字典中移走’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'))

4. 总结

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

到此这篇关于在Python中如何优雅地创建表格的实现的文章就介绍到这了,更多相关Python创建表格内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • python XlsxWriter模块创建aexcel表格的实例讲解

    安装使用pip install XlsxWriter来安装,Xlsxwriter用来创建excel表格,功能很强大,下面具体介绍: 1.简单使用excel的实例: #coding:utf-8 import xlsxwriter workbook = xlsxwriter.Workbook('d:\\suq\\test\\demo1.xlsx') #创建一个excel文件 worksheet = workbook.add_worksheet('TEST') #在文件中创建一个名为TEST的shee

  • Python编程快速上手——Excel表格创建乘法表案例分析

    本文实例讲述了Python Excel表格创建乘法表.分享给大家供大家参考,具体如下: 题目如下: 创建程序multiplicationTable.py,从命令行接受数字N,在一个Excel电子表格中创建一个N*N的乘法表.通过命令行窗口传值,例如: py multiplicationRable.py 6 输出结果为一个6*6的乘法矩阵 思路如下: - 程序需要做以下事情: 能够从cmd命令行窗口接收参数 n 运行python脚本,生成新的excel文件 excel文件包含n*n的乘法矩阵 -

  • 在Python中如何优雅地创建表格的实现

    目录 1. 引言 2. 准备工作 3. 举个栗子 3.1 使用list生成表格 3.2 使用dict生成表格 3.3 增加索引列 3.4 缺失值处理 4. 总结 1. 引言 如果能够将我们的无序数据快速组织成更易读的格式,对于数据分析非常有帮助. Python 提供了将某些表格数据类型轻松转换为格式良好的纯文本表格的能力,这就是 tabulate 库. 闲话少说,我们直接开始吧. :) 2. 准备工作 安装tabulate库安装tabulate库非常容易,使用pip即可安装,代码如下: pip

  • Python中更优雅的日志记录方案详解

    目录 常见使用 loguru 安装 基本使用 详细使用 在 Python 中,一般情况下我们可能直接用自带的 logging 模块来记录日志,包括我之前的时候也是一样.在使用时我们需要配置一些 Handler.Formatter 来进行一些处理,比如把日志输出到不同的位置,或者设置一个不同的输出格式,或者设置日志分块和备份.但其实个人感觉 logging 用起来其实并不是那么好用,其实主要还是配置较为繁琐. 常见使用 首先看看 logging 常见的解决方案吧,我一般会配置输出到文件.控制台和

  • Python中pandas模块DataFrame创建方法示例

    本文实例讲述了Python中pandas模块DataFrame创建方法.分享给大家供大家参考,具体如下: DataFrame创建 1. 通过列表创建DataFrame 2. 通过字典创建DataFrame 3. 通过Numpy数组创建DataFrame DataFrame这种列表式的数据结构和Excel工作表非常类似,其设计初衷是讲Series的使用场景由一维扩展到多维. DataFrame由按一定顺序的多列数据组成,各列的数据类型可以有所不同(数值.字符串.布尔值). Series对象的Ind

  • Python中使用subprocess库创建附加进程

    前言 subprocess库提供了一个API创建子进程并与之通信.这对于运行生产或消费文本的程序尤其有好处,因为这个API支持通过新进行的标准输入和输出通道来回传数据. 本篇,将详细介绍Python创建附加进行的库:subprocess. run(运行外部命令) subprocess库本身可以替换os.system(),os.spawnv()等函数.现在我们来通过subprocess库运行一个外部命令,但不采用os.system().示例如下: import subprocess complet

  • Python中根据时间自动创建文件夹的代码实现

    导语 ​ 电脑桌面文件太多查找起来比较花费时间,并且凌乱的电脑桌面也会影响工作心情,于是利用python根据时间自动建立当日文件夹,这样就可以把桌面上文件按时间进行存放. 代码实现 # _*_coding:utf-8_*_ import os import datetime def create_folder(path): # 年-月-日 时:分:秒 now_time = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S") # 年

  • python中的多进程的创建与启动方式

    目录 一.多进程的创建:多进程的创建方法有两种: 1.通过Process创建多进程 Process语法结构: 2.通过进程池创建并启动多进程 3.通过继承的方法创建多进程 4.进程创建与启动完整代码 python中的并发有三种形式,多进程.多线程.协程.执⾏并发任务的⽬的是为了提⾼程序运⾏的效率. 一.多进程的创建:多进程的创建方法有两种: 1.通过Process创建多进程 Process语法结构: Process(group, target, name, args, kwargs) group

  • Python中如何优雅的合并两个字典(dict)方法示例

    前言 字典是Python中最强大的数据类型之一,本文将给大家详细介绍关于Python合并两个字典(dict)的相关内容,分享出来供大家参考学习,话不多说了,来一起看看详细的介绍吧. 一行代码合并两个dict 假设有两个dict x和y,合并成一个新的dict,不改变 x和y的值,例如 x = {'a': 1, 'b': 2} y = {'b': 3, 'c': 4} 期望得到一个新的结果Z,如果key相同,则y覆盖x.期望的结果是 >>> z {'a': 1, 'b': 3, 'c':

  • Python中TK窗口的创建方式

    目录 Python TK窗口的创建 Python Tk模块简单窗口设计 Python TK窗口的创建 python语言中有一种窗口叫Tk窗口,创建方法如下: 1.导入 import tkinter as tk from PLT import ImageTk 2.创建窗口,设置有关窗口的参数 window = tk.Tk()#创建窗口 window.geometry('1000x600')#设置窗口大小. #如果不设置窗口大小,分为2种情况: #1.传入背景:为背景大小 #2.没有背景:为默认大小

  • Spring BPP中如何优雅的创建动态代理Bean详解

    v一.前言 本文章所讲并没有基于Aspectj,而是直接通过Cglib以及ProxyFactoryBean去创建代理Bean.通过下面的例子,可以看出Cglib方式创建的代理Bean和ProxyFactoryBean创建的代理Bean的区别. v二.基本测试代码 测试实体类,在BPP中创建BppTestDepBean类型的代理Bean. @Component public static class BppTestBean { @Autowired private BppTestDepBean d

  • Python中使用Tkinter模块创建GUI程序实例

    使用Tkinter模块来创建简单的GUI程序. Tkinter的Widgets有:Button.Canvas.Checkbutton.Entry.Frame.Label.Listbox.Menu.Menubutton.Message.Radiobutton.Scales.Scrollbar.TEXT.Toplevel等. 例: 复制代码 代码如下: # This program displays an empty window. import Tkinter def main():   main

随机推荐