Skip to main content

打印终端文本表

项目描述

https://badge.fury.io/py/beautifultable.svg https://img.shields.io/pypi/pyversions/beautifultable.svg https://codecov.io/gh/pri22296/beautifultable/branch/master/graphs/badge.svg https://api.codacy.com/project/badge/Grade/7a76eb35ad4e450eaf00339e98381511 https://github.com/pri22296/beautifultable/actions/workflows/build.yml/badge.svg?branch=master 文件状态 https://img.shields.io/badge/Donate-PayPal-yellow.svg

介绍

这个包提供了 BeautifulTable 类,用于以视觉上吸引人的格式轻松地将表格数据打印到终端。

包括但不限于以下功能:

  • 完全定制桌子的外观和感觉

  • 根据需要构建表格,通过添加行或按列,甚至混合这两种方法。

  • 完全支持使用 ANSI 序列或您选择的任何库的颜色。它只是工作。

  • 大量用于多个用例的预定义样式和创建自定义样式的选项。

  • 支持Unicode字符。

  • 当数据检索缓慢时支持流式表。

用法

这是一个如何使用 beautifultable 的示例:

>>> from beautifultable import BeautifulTable
>>> table = BeautifulTable()
>>> table.rows.append(["Jacob", 1, "boy"])
>>> table.rows.append(["Isabella", 1, "girl"])
>>> table.rows.append(["Ethan", 2, "boy"])
>>> table.rows.append(["Sophia", 2, "girl"])
>>> table.rows.append(["Michael", 3, "boy"])
>>> table.rows.header = ["S1", "S2", "S3", "S4", "S5"]
>>> table.columns.header = ["name", "rank", "gender"]
>>> print(table)
+----+----------+------+--------+
|    |   name   | rank | gender |
+----+----------+------+--------+
| S1 |  Jacob   |  1   |  boy   |
+----+----------+------+--------+
| S2 | Isabella |  1   |  girl  |
+----+----------+------+--------+
| S3 |  Ethan   |  2   |  boy   |
+----+----------+------+--------+
| S4 |  Sophia  |  2   |  girl  |
+----+----------+------+--------+
| S5 | Michael  |  3   |  boy   |
+----+----------+------+--------+

您可以在本教程中了解有关 beautifultable 的更多信息

安装

python3 -m pip install beautifultable

变更日志

发展

v1.1.0

  • 放弃对 Python 3.4、3.5 和 3.6 的支持

  • 添加对 python 3.9 和 3.10 的官方支持

  • 在行对象上添加了 asdictaslist方法。(感谢@Agent-Hellboy

  • 添加了 from_csvto_csv方法来导出/导入 csv 文件。(感谢@Agent-Hellboy

  • 添加了 from_dfto_df方法来导出/导入数据框。(感谢@Agent-Hellboy

v1.0.1

  • 修复了将带有标题的列附加到空表会使表实例处于不一致状态的问题。

v1.0.0

  • BeautifulTable类添加了两个新的视图列。大多数现有方法已被弃用。{}_row{}_column形式的方法已移至视图rows.{}columns.{}``(例如``append_row现在是rows.append)。调用旧的不推荐使用的方法现在会引发FutureWarning。诸如__len____iter__等特殊方法也已移至各自的视图中。有关详细信息,请参阅 API 文档和更新教程

  • 现有的样式属性也已被弃用。可以访问一个新的边框属性来控制影响边框的所有样式属性。其余属性可以从其各自的视图中访问。

  • 添加了对行标题的支持。因此,现在可以通过类似于列的键来访问行

  • 添加了两个新方法to_csvfrom_csv以直接导出/导入到 csv 文件。(感谢@dinko-pehar

  • 添加BeautifulTable.rows.filter方法以生成仅包含某些行的新表

  • 向BeautifulTable类添加了一个新的形状属性,该属性返回一个表单元组 (nrow, ncol)

  • 添加了新属性BeautifulTable.columns.header.alignment可用于单独的标题对齐。默认行为是继承BeautifulTable.columns.alignment

  • 更新了BeautifulTable.rows.sort(早期的BeautifulTable.sort)方法,现在也接受任何可调用对象作为键。

  • 更新 BeautifulTable.columns.width 的行为之前的BeautifulTable.column_widths)。默认情况下,它不再覆盖用户指定的宽度。您可以通过将其设置为“自动”将其重置为默认值

  • 不推荐使用的属性serialnoserialno_header。如果需要,用户现在可以通过使用行标题轻松实现此功能

  • 不推荐使用的方法get_table_width()copy()get_string()

  • 已弃用的构造函数参数和名为sign_modenumeric_precisionmax_width的类属性并分别重命名为signprecisionmaxwidth

  • 修复了使用祝福模块生成彩色字符串时表格格式错误的问题。

  • 修复了__iter____copy____deepcopy__的现有实现的问题,现在应该更可靠地工作。

  • 修复了默认填充无法设置为 0 的问题。(感谢@furlongm

  • 通过确保所有内部对象仅持有对表实例的弱引用,修复了几个内存泄漏问题。

  • 放弃对 Python 2 的支持

v0.8.0

  • 放弃对 Python 3.3 的支持

  • 在数据检索缓慢的情况下,添加了对使用生成器的流表的支持

  • 现在可以使用简化的语法为所有列设置对齐、填充、宽度,例如 table.column_alignments = beautifultable.ALIGN_LEFT

v0.7.0

  • 添加了 4 种新样式,STYLE_BOXSTYLE_BOX_DOUBLEDSTYLE_BOX_ROUNDEDSTYLE_GRID

  • 将STYLE_RESTRUCTURED_TEXT重命名为STYLE_RST

  • wcwidth现在是一个可选依赖项

  • 更新了计算列宽的算法(更好的列之间的空间划分)

  • 添加了对段落的支持(使用\n字符)

  • 使用 12 个新属性intersect_{top|header|row|bottom}_{left|mid|right}为交叉字符添加了更精细的控制

  • 添加了也接受字节串​​而不是 unicode 的能力

  • 不推荐使用的属性intersection_char

  • 不推荐使用的方法get_top_border()get_bottom_border()get_header_separator()get_row_separator()auto_calculate_width()

  • 修复了使用多字节字符时WEP_ELLIPSISWEP_STRIP的问题

  • 修复了column_width太低时表格格式不正确的问题

v0.6.0

  • 添加了对处理多字节字符串的支持

  • 添加了对使用 ANSI 转义序列的彩色字符串的支持

  • 添加了所有字符串必须是 unicode 的约束

  • 修复了有时计算的宽度高于预期的问题

v0.5.3

  • 添加了对使用 ANSI 转义序列处理颜色代码的支持(实验性)

  • 修复了集合 ABC 弃用警告

v0.5.2

  • 添加了新样式STYLE_NONE

  • 修复了有关非字符串浮点数转换不当的问题

v0.5.1

  • 添加了用于切换自动数字转换的detect_numerics布尔值

v0.5.0

  • 添加了新属性serialno_header

  • 不推荐使用名称中拼写错误的“分隔符”的方法。

  • 修复了column_count过高导致表损坏的问题

v0.4.0

  • 添加了预定义样式以便于自定义

  • 为sort()方法添加了反向参数

  • 修复了 3.4 之前 python 版本的enum34依赖关系

v0.3.0

  • 为自动打印序列号添加了属性serialno

  • 修复了与 str 转换相关的sign_mode问题

  • 修复了与 3.3 之前的 python 版本相关的错误

  • 修复了WEP_ELLIPSIS和令牌长度小于 3的异常

  • 修复了空表的打印问题

v0.2.0

  • 添加了 python 2 支持

v0.1.3

  • 修复了小问题

v0.1.2

  • 添加了新属性default_padding

  • 添加了新方法update_row

  • 修复了auto_calculate_width()中的问题

v0.1.1

  • PyPI 上的初始版本

贡献

如果您有任何建议或错误报告,请创建问题。拉请求总是受欢迎的。

执照

该项目在 MIT 许可证下获得许可 - 有关详细信息,请参阅LICENSE.txt文件。

捐款

爱美?考虑支持开发:)

https://www.paypalobjects.com/en_US/i/btn/btn_donateCC_LG.gif

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

beautifultable-1.1.0.tar.gz (40.2 kB 查看哈希

已上传 source

内置分布

beautifultable-1.1.0-py2.py3-none-any.whl (28.6 kB 查看哈希

已上传 py2 py3