Python: 命令行格式化打印之表格

  • 前言
  • 分隔符打印
    • 描述
    • 代码
    • 示例
  • 定长单元格
    • 描述
    • 代码
    • 示例
  • 变长单元格
    • 描述
    • 代码
    • 示例

前言

对于程序员而言,数据处理中,数据加工是为重中之重。但是,从数据处理的最终目标的角度来看,数据显示的作用比肩于数据加工。甚至,在某些应用场景中,数据的表现形式的作用远胜于加工处理。数据处理的最终目的是为了直观地呈现出来。数据的分析处理方案固然不可或缺。不过,别忘了适当的呈现结果数据也是必要且最终的环节。在处理数据的过程中,很多时候需要快速的呈现当前结果。这时,没有必要过于注重呈现的外在形式,却又不得不继续。因为考虑到时间效率的问题,特别是在最终结果呈现之前或者只向开发者展现的情景,命令行格式化打印是恰逢其时。命令行格式化打印一系列数据在可读性需求上也就等同于格式化打印表格。接下来,就讲解命令行格式化打印表格的几种方式。

分隔符打印

描述

直接用转义字符\t在命令行打印表格数据,简单快速。单元格数据存放在数组中,每两个数据使用转义字符\t隔开。这种方法简单易用。

代码

table_titles = ['area', 'top price', 'bottom price', 'average price']
table_datas = [city_dict.get(city_code, 'unknown'), str(top_price), str(bottom_price), str(average_price)]
print('\t'.join(table_titles))
print('\t'.join(table_datas))

示例

定长单元格

描述

假设在这里需要在命令行中简单格式化打印一个表格。表格的单元格数据格式是数据统计相关内容。比如,数量或者百分比。根据可预见的单元数据长度范围,可以预设单元格的最大显示宽度。将不足最大显示宽度的单元格数据字符串填充,直至达到该宽度。

代码

table_titles = ['area', 'top price', 'bottom price', 'average price']
max_wrap = 15
table_datas = [city_dict.get(city_code, 'unknown'), str(top_price), str(bottom_price), str(average_price)]
for i in range(len(table_datas) - 1):if len(table_datas[i]) < max_wrap:table_datas[i] = table_datas[i] + ' ' * (max_wrap - len(table_datas[i]))table_titles[i] = table_titles[i] + ' ' * (max_wrap - len(table_titles[i]))
print('\t'.join(table_titles))
print('\t'.join(table_datas))

示例

变长单元格

描述

在命令行格式化打印表格时,不预先设定表格标题和数据单元格的宽度。而是,由输入的数据决定单元格的宽度。换句话说,不可预知数据字符串的长度,根据单元格数据最大长度自动填充来调整其余单元格的数据长度。

代码

table_titles = ['area', 'top price', 'bottom price', 'average price']
max_wrap = 0
for title in table_titles[:-1]:if max_wrap < len(title):max_wrap = len(title)
table_datas = [city_dict.get(city_code, 'unknown'), str(top_price), str(bottom_price), str(average_price)]for i in range(len(table_datas) - 1):if len(table_datas[i]) < max_wrap:table_datas[i] = table_datas[i] + ' ' * (max_wrap - len(table_datas[i]))table_titles[i] = table_titles[i] + ' ' * (max_wrap - len(table_titles[i]))
print('\t'.join(table_titles))
print('\t'.join(table_datas))

示例

Python: 命令行格式化打印之表格相关推荐

  1. 使用Python命令行优美打印json文件

    JSON 是一种非常常见的数据格式,但人工读起来比较困难.有的json文件就是非常长的一行文字,没有任何换行符和空格,对人来说,难以理解器内容. Python 2.6 及以上版本,提供了json.to ...

  2. Python命令行可视化库

    我们通常都是在自己的电脑上跑程序,直接是可以可视化相应的结果.如果是在服务器上的话,使用终端,是不太方便查看结果.本文介绍4个可以在命令行中使用的Python库,分别是 Bashplotlib tqd ...

  3. 发现 4 个 Python 命令行可视化库,又酷又炫!

    通常大家都是在自己的电脑上跑程序,直接是可以可视化相应的结果. 如果是在服务器上的话,使用终端,是不太方便查看结果. 今天给大家介绍4个可以在命令行中使用的Python库. 分别是Bashplotli ...

  4. Python 命令行编程

    今天分享又来了呀.ღ( ´・ᴗ・` ) 一起学习进步ღゝ◡╹)ノ♡ 摘要:最近在开发etl工具,其中使用到了Python命令行编程,记录一下. IMDG: 加油,好好学习,天天向上~ Q: IMDG ...

  5. python 基础命令-Python 命令行(CLI)基础库

    在 CLI 下写 UI 应用 前阵子看了一下自己去年写的 Python-视频转字符动画,感觉好糗..所以几乎把整篇文章重写了一遍.并使用 curses 库实现字符动画的播放. 但是感觉,curses ...

  6. git 忽略__pycache___容易被忽略的 Python 命令行参数

    上周编写了一个 Python 脚本用于将一堆包含 oracle dmp 文件的 rar 压缩包恢复到 oracle 数据库.由于 oracle dmp 文件恢复速度较慢,通过 nohup commad ...

  7. python 命令行 解析模块 optparse、argparse

    optparse:https://docs.python.org/zh-cn/3/library/optparse.html argparse :https://docs.python.org/zh- ...

  8. 对于python命令行,你应该这么做才专业

    论吃苦 和朋友聊天,说到了学习的问题.不知道何时听过一句话,因为不想吃生活的苦,所以我忍受着学习的苦.生活的苦只要躺着就能吃到,而学习的苦却要我们逼着自己去吃.每天下班回来等到孩子睡了开始学习,学的差 ...

  9. 【Python】Python3.7.3 - Python命令行参数详解

    文章目录 Python命令行参数概览 -c cmd参数示例 -m mod参数示例 file参数示例 - 参数示例 命令行选项详解 -b 选项 -B选项 -d选项 -E选项 -h / -? / --he ...

最新文章

  1. 邮件系列(二)-发送邮件
  2. boost::gil::packed_channel_value用法的测试程序
  3. java assert可以检查exception吗_检查胃病一定要做胃镜吗?这五种检查也可以筛查胃病疾病...
  4. 二维火:智能餐饮云端互联
  5. ★教师工资为什么这么低?
  6. 什么是SFP光模块?SFP光模块小知识介绍!
  7. Appium 解决手势密码 (java篇)
  8. mongodb索引生成HTML页面,mongodb高阶:索引创建、聚合查询、复制集、分片、创建备份和部署...
  9. VirtualBox 网络链接配置
  10. java解析json的一种方法
  11. vs 2005應用2003框架
  12. 喜大普奔,Google 的一小步!
  13. 计算机科学现代教育,现代教育技术教程-计算机科学教育.pdf
  14. Dos系统功能调用表9号功能
  15. 【音效处理】Reverb 混响算法简介
  16. 【JAVA程序设计】(C00048)基于springboot酒店宾馆管理系统
  17. 函数的极值点、零点、驻点、拐点的理解
  18. Excel基础知识(10):多工作簿数据的引用与更新
  19. 假定我们要建立一个学术论文数据库,存储如下信息: •学术期刊有期刊编号、期刊名、发行单位; •作者有作者编号、作者姓名、电子邮件; •论文有论文编号、论文标题、摘要、正文; •每篇论文只被一个
  20. 英文和数字组合 正则 密码验证

热门文章

  1. 学习Head First Design Pattern——翻译Chapter 2:The Observer Pattern
  2. 12月23日——培训第29天
  3. Linux运维常用命令-linux服务器代维常用到的维护命令
  4. html中1em等于多少像素,CSS:度量单位(px,em,rem,vw,%等)
  5. SqlServer查看表大小
  6. iOS编程基础-Swift(三)-变量与简单类型
  7. c++求一个弧度角的正切tan
  8. STM32中独立看门狗的配置
  9. 华为OD机试真题 Java 实现【二维伞的雨滴效应】【2023 B卷 100分】,附详细解题思路
  10. html中增删改查怎么写,增删改查crud