Tablib 是一个轻量级 Python 库,支持 XLSX、CSV、JSON、YAML 等格式的表格数据导入导出,无需依赖 Pandas。其核心为 Dataset 对象,可定义表头并添加行数据,如 dataset.headers = [‘Name’, ‘Age’, ‘City’] 并通过 append 添加记录。支持多种导出方式:dataset.csv 获取 CSV 字符串,dataset.json 输出 JSON 字符串,dataset.xlsx 返回字节流可用于文件写入,dataset.yaml 生成 YAML 内容。保存文件示例如 with open(‘users.xlsx’, ‘wb’) as f: f.write(dataset.xlsx)。导入时可从文件读取并加载,如 tablib.Dataset().load(f.read(), format=’csv’),支持自动识别或指定格式。可按列 dataset[‘Name’] 或行 dataset[0] 访问数据,获取行数 len(dataset),检查列是否存在 ‘Age’ in dataset.headers,并通过 insert_col 插入新列如 dataset.insert_col(2, col=[‘Engineer’, ‘Manager’, ‘Analyst’], header=’Job’)。适用于数据导出、API 响应生成和轻量级 ETL 处理。

Tablib 是一个用于处理表格数据的轻量级 Python 库,支持多种格式(如 XLSX、CSV、JSON、YAML)的导入和导出。它不依赖于 Pandas,适合在不需要复杂数据分析时快速操作结构化数据。
安装 Tablib
使用 pip 安装:
pip install tablib
创建 Dataset 并添加数据
Tablib 的核心是 Dataset 对象,代表一张表。
立即学习“Python免费学习笔记(深入)”;
示例:创建一个用户数据表
dataset = tablib.Dataset()
dataset.headers = [‘Name’, ‘Age’, ‘City’]
dataset.append([‘Alice’, 25, ‘Beijing’])
dataset.append([‘Bob’, 30, ‘Shanghai’])
dataset.append([‘Charlie’, 35, ‘Guangzhou’])
导出为不同格式
Tablib 支持多种输出格式,直接调用属性即可:
dataset.csv → 获取 CSV 字符串dataset.json → 获取 JSON 字符串dataset.xlsx → 返回字节流,适合写入文件dataset.yaml → 获取 YAML 格式内容
保存到文件示例:
with open(‘users.xlsx’, ‘wb’) as f:
f.write(dataset.xlsx)
从文件导入数据
读取已有文件也很简单:
with open(‘users.csv’, ‘r’) as f:
data = tablib.Dataset().load(f.read(), format=’csv’)
支持自动识别格式,也可指定 format 参数为 ‘json’、’yaml’ 等。
常用操作技巧
可以按列或行访问数据:
dataset[‘Name’] → 获取 Name 列dataset[0] → 获取第一行len(dataset) → 行数‘Age’ in dataset.headers → 检查列是否存在
还支持列的增删:
dataset.insert_col(2, col=[‘Engineer’, ‘Manager’, ‘Analyst’], header=’Job’)
基本上就这些。Tablib 简单直观,适合做数据导出、API 响应生成或轻量级 ETL 处理,不复杂但容易忽略。
以上就是使用Python中的Tablib库的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1382881.html
微信扫一扫
支付宝扫一扫