tableutils -2D数据结构

如果有一个反复出现的主题 boltons 这是因为,Python拥有出色的数据结构,这为大多数快速操作以及构建应用程序奠定了良好的基础。然而,Python的使用增长速度远远快于内置的数据结构能力。对于行为直观的更高级的通用数据结构,Python的需求越来越大。

这个 Table 类就是一个例子。当提供一维或二维数据时,它可以提供中小型数据的有用文本和HTML格式(如果是基本的话)。它还启发式地处理各种格式的递归数据(列表、字典、命名元组、对象)。

获取更高级的 Table -风格的操作查看 pandas DataFrame。

class boltons.tableutils.Table(data=None, headers=_MISSING, metadata=None)[源代码]

这个表类应该是简单、低开销和可扩展的。它最常见的用途是在内存中的数据结构和序列化格式之间进行转换,比如HTML和支持控制台的文本。

因此,它以列表格式存储数据,并且 does not 传入的复制列表。它还保留在“填充”过程中修改这些列表的权利,即将短列表扩展到表的宽度(通常由标题数确定)。这大大减少了在其他情况下必须进行的开销和处理/验证。

标头行为的一般描述:

标头描述列,但不是数据的一部分,如果 headers 参数,则表会尝试从数据推断标头名称。可以有一个没有标题的表,只需传入 headers=None

支持的输入:

  • listlist 对象

  • dict (单曲/单曲)

  • object (单曲/单曲)

  • collections.namedtuple (单曲/单曲)

  • TODO:数据库API游标?

  • TODO:JSON

支持的输出:

  • HTML

  • 精美文本(也可用作GF降价)

  • TODO:CSV

  • TODO:JSON

  • TODO:JSON行

为了最大限度地减少驻留大小,表数据被存储为列表列表。

extend(data)[源代码]

将给定的数据追加到表的末尾。

classmethod from_data(data, headers=_MISSING, max_depth=1, **kwargs)[源代码]

从任何支持的数据创建表,试探性地选择如何以表格式表示数据。

参数:
  • data (object) -- 要导入到表中的数据的任何对象或可迭代对象。

  • headers (iterable) -- 要与数据匹配的标头的可迭代数。如果未显式传递,则将猜测某些数据类型的标头。

  • max_depth (int) -- 应创建嵌套表的级别(默认为1)。

  • _data_type (InputType subclass) -- 对于高级用例,不要猜测输入数据的类型,而应使用此数据类型。

classmethod from_dict(data, headers=_MISSING, max_depth=1, metadata=None)[源代码]

从表中创建表 dict 。操作方式与 from_data() ,但强制将数据解释为映射。

classmethod from_list(data, headers=_MISSING, max_depth=1, metadata=None)[源代码]

从表中创建表 list 。操作方式与 from_data() ,但强制将数据解释为序列。

classmethod from_object(data, headers=_MISSING, max_depth=1, metadata=None)[源代码]

从表中创建表 object 。操作方式与 from_data() ,但强制将数据解释为对象。可能对某些人有用 dictlist 子类型。

get_cell_html(value)[源代码]

对HTML表中的每个值进行调用。默认情况下,它只是简单地转义了HTML。重写此方法以添加其他条件和行为,但要注意确保最终输出是HTML转义的。

to_html(orientation=None, wrapped=True, with_headers=True, with_newlines=True, with_metadata=False, max_depth=1)[源代码]

将此表呈现为HTML。通过子类化和重写来配置表的结构 _html_* 类属性。

参数:
  • orientation (str) -- “自动”、“水平”或“垂直”中的一个(或其中任何一个的第一个字母)。默认为‘AUTO’。

  • wrapped (bool) -- 是否包括换行“<table></table>”标记。默认 True ,设置为 False 如果追加多个表输出或其他定制的HTML换行标记,则需要。

  • with_newlines (bool) -- 设为 True 如果输出应包括添加的换行符,以使HTML更具可读性。默认 False

  • with_metadata (bool/str) -- 设为 True 如果输出前面应该有一个预设元数据表(如果存在)。设置为特殊值 'bottom' 如果元数据表的HTML应该出现 after 主要的HTML输出。

  • max_depth (int) -- 指示在简单地恢复到之前嵌套多深的HTML表 repr() -对嵌套数据进行处理。

返回:

呈现的表格的HTML的文本字符串。

to_text(with_headers=True, maxlen=None)[源代码]

获取表格的文本表示形式。仅适用于包含非递归数据的表。

参数:
  • with_headers (bool) -- 是否在顶部包括标题行。

  • maxlen (int) -- 每个单元格中的最大数据长度。