java json删除指定元素_简洁而优雅,Python Tablib实现将数据导出为Excel, Json等N种格式...

346c7678-4173-45f6-a7b3-f1fccf9ce643

遇见 Tablib

我们在 Python 实际开发过程中,经常涉及将数据导出为 Excel、Csv、Yaml、Json 等各种格式的文件的需求,一些粗鲁的实现方式是通过安装各种第三方模块以支持不同格式文件的导出操作。

接下来要我们要介绍的这个模块,再也不需要担心因导出不同格式数据时而调用各种第三方模块了,当然使用 Pandas 也是一个不错的选择,只是过于重量级了。

Python Tablib 是麻省理工学院授权的与格式无关的表格数据集库。支持导入、导出和操作表格数据集。优雅的将数据导出为各种不同的格式,包括Excel,Json,Html,Yaml,Csv,Tsv等格式。


Tablib 安装

我们在 Windows10 Python3 环境下,使用 pip 进行安装 ,安装命令如下:

pip install tablib

接下来,让我们一步步了解如何使用 Tablib ,简洁而又优雅的实现将数据导出为各种格式。


创建数据集

我们使用 tablib.Dataset 方法,采用如下方式创建数据集:

1176e35102fc49dc9520a4babc1579f5

我们还可以另一种方式创建数据集,如下:

c8290304a4f94c86a4a8f83801da0c6f

我们还可以通过导入现有文件数据的方式创建数据集,如下,我们为 dump.json 文件。

bed47c13e4034ce69714d1df86e37c65

我们使用 tablib.Dataset.load 方法导入 dump.json 文件数据,实现如下:

b88ac95adedb4ed4878948226e14bf3f

创建一个 tablib.Dataset 通过 load 方法,导入现已存在的文件。强大之处是 tablib 能够自动检测传入的文件类型,并使用适当的格式化方法进行导入,实现从各种不同的文件类型中导入——强无敌

比如,我们再导入 dataset.xlsx 文件,代码实现如下:

3a5052ab65a44faaa7527895f05ba75b

添加行

我们可以使用 tablib.Dataset.append 方法,实现向数据集尾部添加行数据,需要注意的是每行的元素数量应与数据集的列数相同,代码实现如下:

7b0e83ce7ae64acf8ce26c0ed36dd58a

我们也可以使用 tablib.Dataset.insert 方法,实现向数据集指定位置添加行数据,同样需要注意每行的元素数量应与数据集的列数相同,代码实现如下:

db1c1dc172cb4a4882a58ed362f0bda4

添加列

我们可以使用 tablib.Dataset.append_col 方法,实现向数据集尾部添加列数据,需要注意的是每列的元素数量应与数据集的行数相同,代码实现如下:

2736aef683a14150b74e9a406d0fe459

我们也可以使用 tablib.Dataset.insert_col 方法,实现向数据集指定位置添加列数据,需要注意的是每列的元素数量应于数据集的行数相同,代码实现如下:

23946f73f0694399ae6651e4ab70ca47

选择行和列

我们可以像Python列表一样通过切片和索引获取行数据。像Python字典通过列名和索引获取列数据,代码实现如下:

1023e323d5cb40e3b8ccd298bbebe570

删除行

我们可以使用以下方式,实现行删除:

  • tablib.Dataset.pop :删除最后一行
  • tablib.Dataset.lpop :删除第一行
  • del dataset[n: m] :删除指定范围的行
7ff429f5a3ee46dd9da95e4e04c67e46

删除列

我们可以使用 del dataset['column_name'] ,实现删除指定列,代码实现如下:

5ce2a5a6cdfd4d348b28aede035241fa

数据格式转换

我们可以将数据集转换为如下任一格式,强无敌。

  • Excel ( 支持Books)
  • Json ( 支持Books)
  • Yaml (支持 Books)
  • Pandas DataFrames
  • Csv
  • Html
  • Jira
  • Tsv
  • Ods
  • Dbf
  • Dict

我们演示一下,其中几种数据格式,如下:

53d28e82547e495e82f489b5505505ca

执行上述代码,输出结果为:

c9510c875a4b4a9cb8de9c9a0c4d4774

数据导出

终于介绍到,让我激动不已的数据导出了,简单而优雅,通用而高效。

5613e7f891794ef386abf8ce5e0a1d9f

导出 dataset_o.xlsx 文件如下:

a30766b42d9c4c73bcaa688fef13790a

使用DataBook 导出多页数据

259a5992f4274744949fc18ffe42e643

导出 dataset_ot.xlsx 文件如下:

28ef48cc9188493785b0e0440b6093a8

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值