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` 有关其他文档,请参阅。
- property dict¶
的本地python表示
Dataset
对象。如果设置了头,将返回一个python字典列表。如果未设置头,则将返回元组(行)列表。还可以通过设置数据集来导入数据集对象。 Dataset.dict 属性:::
data = tablib.Dataset() data.dict = [{'age': 90, 'first_name': 'Kenneth', 'last_name': 'Reitz'}]
- extend(rows, tags=())[源代码]¶
将行列表添加到
Dataset
使用 :method:`Dataset.append`
- property headers¶
安 可选择的 用于标题行和属性名的字符串列表。
这必须手动设置。给定的列表长度必须等于
Dataset.width
。
- 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
后来。
- load(in_stream, format=None, **kwargs)[源代码]¶
进口 in_stream 到
Dataset
对象使用 format . in_stream 可以是类似文件的对象、字符串或bytestring。- 参数:
**kwargs -- (可选)自定义格式配置 import_set .
- lpush(row, tags=())[源代码]¶
将一行添加到
Dataset
。看见 :method:`Dataset.insert` 有关其他文档,请参阅。
- lpush_col(col, header=None)[源代码]¶
将一列添加到
Dataset
。看见 :method:`Dataset.insert` 有关其他文档,请参阅。
- rpush(row, tags=())[源代码]¶
将一行添加到
Dataset
。看见 :method:`Dataset.insert` 有关其他文档,请参阅。
- rpush_col(col, header=None)[源代码]¶
将一列添加到
Dataset
。看见 :method:`Dataset.insert` 有关其他文档,请参阅。
数据本对象¶
功能¶
例外情况¶
现在,去开始一些 Tablib Development .