API

这部分文档涵盖了tablib的所有接口。对于tablib依赖于外部库的部分,我们在这里编写最重要的文档,并提供到规范文档的链接。

数据集对象

class tablib.Dataset(*args, **kwargs)[源代码]

这个 Dataset 对象是tablib的核心。它提供所有核心功能。

通常你会创建一个 Dataset 在主模块中创建实例,并在收集数据时追加行。::

data = tablib.Dataset()
data.headers = ('name', 'age')

for (name, age) in some_collector():
    data.append((name, age))

设置列也是类似的。列数据长度必须等于数据的当前高度,并且必须设置标题。:

data = tablib.Dataset()
data.headers = ('first_name', 'last_name')

data.append(('John', 'Adams'))
data.append(('George', 'Washington'))

data.append_col((90, 67), header='age')

还可以在实例化时设置行和标头。如果处理几十或几百个 Dataset 物体。::

headers = ('first_name', 'last_name')
data = [('John', 'Adams'), ('George', 'Washington')]

data = tablib.Dataset(*data, headers=headers)
参数:
  • *args -- (可选)要填充数据集的行列表

  • headers -- (可选)数据集标题行的列表字符串

  • title -- (可选)用作数据集标题的字符串

如果查看代码,则在 Dataset 对象。要添加对新格式的支持,请参见 Adding New Formats .

add_formatter(col, handler)[源代码]

将格式化程序添加到 Dataset .

在 0.9.5 版本加入.

参数:
  • col -- 列到。接受index int或header str。

  • handler -- 对每个单元格值执行的回调函数的引用。

append(row, tags=())[源代码]

将一行添加到 Dataset 。看见 :method:`Dataset.insert` 有关其他文档,请参阅。

append_col(col, header=None)[源代码]

将列添加到 Dataset 。看见 :method:`Dataset.insert_col` 有关其他文档,请参阅。

append_separator(text='-')[源代码]

添加一个 separatorDataset .

property dict

的本地python表示 Dataset 对象。如果设置了头,将返回一个python字典列表。如果未设置头,则将返回元组(行)列表。

还可以通过设置数据集来导入数据集对象。 Dataset.dict 属性:::

data = tablib.Dataset()
data.dict = [{'age': 90, 'first_name': 'Kenneth', 'last_name': 'Reitz'}]
export(format, **kwargs)[源代码]

出口 Dataset 对象到 format .

参数:

**kwargs -- (可选)自定义格式配置 export_set .

extend(rows, tags=())[源代码]

将行列表添加到 Dataset 使用 :method:`Dataset.append`

filter(tag)[源代码]

返回的新实例 Dataset ,不包括不包含给定 tags .

get_col(index)[源代码]

返回 Dataset 在给定的索引处。

property headers

可选择的 用于标题行和属性名的字符串列表。

这必须手动设置。给定的列表长度必须等于 Dataset.width

property height

当前在 Dataset . 不能直接修改。

insert(index, row, tags=())[源代码]

Dataset 在给定的索引处。

插入的行大小(高度或宽度)必须正确。

默认行为是将给定行插入到 Dataset 在给定索引处的对象。

insert_col(index, col=None, header=None)[源代码]

将列插入到 Dataset 在给定的索引处。

插入的列必须是正确的高度。

还可以插入单个可调用对象的列,该列将添加一个新列,每个列的可返回值都作为列中的项。::

data.append_col(col=random.randint)

如果插入列,并且 Dataset.headers 则必须设置Header属性,并将其视为该行的标题。

动态列 一个深入的例子。

在 0.9.0 版本发生变更: 如果插入列,并且 Dataset.headers 则必须设置Header属性,并将其视为该行的标题。

在 0.9.0 版本加入: 如果插入行,您可以添加 tags 添加到您要插入的行。这使您能够 :method:`filter <Dataset.filter>` 你的 Dataset 后来。

insert_separator(index, text='-')[源代码]

将分隔符添加到 Dataset 在给定索引处。

load(in_stream, format=None, **kwargs)[源代码]

进口 in_streamDataset 对象使用 format . in_stream 可以是类似文件的对象、字符串或bytestring。

参数:

**kwargs -- (可选)自定义格式配置 import_set .

lpop()[源代码]

删除并返回 Dataset .

lpush(row, tags=())[源代码]

将一行添加到 Dataset 。看见 :method:`Dataset.insert` 有关其他文档,请参阅。

lpush_col(col, header=None)[源代码]

将一列添加到 Dataset 。看见 :method:`Dataset.insert` 有关其他文档,请参阅。

pop()[源代码]

删除并返回 Dataset .

remove_duplicates()[源代码]

从中删除所有重复行 Dataset 对象,同时保持原始顺序。

rpop()[源代码]

删除并返回 Dataset .

rpush(row, tags=())[源代码]

将一行添加到 Dataset 。看见 :method:`Dataset.insert` 有关其他文档,请参阅。

rpush_col(col, header=None)[源代码]

将一列添加到 Dataset 。看见 :method:`Dataset.insert` 有关其他文档,请参阅。

sort(col, reverse=False)[源代码]

排序A Dataset 由特定列、给定的字符串(用于头)或整数(用于列索引)。顺序可以通过设置反转。 reverseTrue .

返回新的 Dataset 列已排序的实例。

stack(other)[源代码]

栈二 Dataset 通过在行级别联接实例,并返回新的组合实例 Dataset 实例。

stack_cols(other)[源代码]

栈二 Dataset 通过在列级别联接实例,并返回一个新的组合 Dataset 实例。如果任一 Dataset 设置了头,而另一个也必须设置头。

subset(rows=None, cols=None)[源代码]

返回的新实例 Dataset ,仅包括指定的行和列。

transpose()[源代码]

转置A Dataset ,将行转换为列,反之亦然,返回新的 Dataset 实例。原始实例的第一行成为新的标题行。

property width

当前位于 Dataset . 不能直接修改。

wipe()[源代码]

Dataset 对象。

数据本对象

class tablib.Databook(sets=None)[源代码]

一本书 Dataset 物体。

add_sheet(dataset)[源代码]

添加给定 DatasetDatabook .

export(format, **kwargs)[源代码]

出口 Databook 对象到 format .

参数:

**kwargs -- (可选)自定义格式配置 export_book .

load(in_stream, format, **kwargs)[源代码]

进口 in_streamDatabook 对象使用 format . in_stream 可以是类似文件的对象、字符串或bytestring。

参数:

**kwargs -- (可选)自定义格式配置 import_book .

property size

的编号 Dataset 内的对象 Databook .

wipe()[源代码]

移除所有 Dataset 来自的对象 Databook .

功能

tablib.detect_format(stream)[源代码]

返回给定流的格式名(像object、string或bytestring这样的文件)。

tablib.import_set(stream, format=None, **kwargs)[源代码]

返回给定流的数据集(类似于文件的对象、字符串或bytestring)。

例外情况

exception tablib.exceptions.HeadersNeeded[源代码]

将列追加到此数据集中时,必须提供Header参数。

exception tablib.exceptions.InvalidDatasetIndex[源代码]

超出数据集大小。

exception tablib.exceptions.InvalidDatasetType[源代码]

只能将数据集添加到Databook。

exception tablib.exceptions.InvalidDimensions[源代码]

列或行的大小不适合表格尺寸。

exception tablib.exceptions.TablibException[源代码]

Tablib常见异常。

exception tablib.exceptions.UnsupportedFormat[源代码]

不支持格式。

现在,去开始一些 Tablib Development .