博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python tablib模块
阅读量:6209 次
发布时间:2019-06-21

本文共 3425 字,大约阅读时间需要 11 分钟。

Python tablib模块是第三方模块,主要作用是将数据导出为各种不同的格式,包括excel,json,html,yaml,csv,tsv等格式,怎么样,有点心动了吧,当然这个模块使用起来也是超级简单的

 

首先安装这个模块,打开cmd,然后python –m pip install tablib就可以啦

 

安装好之后,就可以使用啦,下面举个简单的栗子就知道怎么用啦

 

 

import tablibimport os#创建dataset,方法1dataset1 = tablib.Dataset()header1 = ('ID', 'Name', 'Tel', 'Age')dataset1.headers = header1 dataset1.append([1, 'zhangsan', 13711111111, 16])dataset1.append([2, 'lisi',     13811111111, 18])dataset1.append([3, 'wangwu',   13911111111, 20])dataset1.append([4, 'zhaoliu',  15811111111, 25])print('dataset1:', os.linesep, dataset1, os.linesep)#创建dataset,方法2header2 = ('ID', 'Name', 'Tel', 'Age')data2 = [    [1, 'zhangsan', 13711111111, 16],    [2, 'lisi',     13811111111, 18],    [3, 'wangwu',   13911111111, 20],    [4, 'zhaoliu',  15811111111, 25]]dataset2 = tablib.Dataset(*data2, headers = header2)print('dataset2: ', os.linesep, dataset2, os.linesep)#增加行dataset1.append([5, 'sunqi', 15911111111, 30])      #添加到最后一行的下面dataset1.insert(0, [0, 'liuyi', 18211111111, 35])   #在指定位置添加行print('增加行后的dataset1: ', os.linesep, dataset1, os.linesep)#删除行dataset1.pop()      #删除最后一行dataset1.lpop()     #删除第一行del dataset1[0:2]   #删除第[0,2)行数据print('删除行后的dataset1:', os.linesep, dataset1, os.linesep)#增加列#现在dataset1就剩两行数据了dataset1.append_col(('beijing', 'shenzhen'), header='city')     #增加列到最后一列dataset1.insert_col(2, ('male', 'female'), header='sex')        #在指定位置添加列print('增加列后的dataset1: ', os.linesep, dataset1, os.linesep)#删除列del dataset1['Tel']print('删除列后的dataset1: ', os.linesep, dataset1, os.linesep)#获取各种格式的数据print('yaml format: ', os.linesep ,dataset1.yaml, os.linesep)print('csv format: ' , os.linesep ,dataset1.csv , os.linesep)print('tsv format: ' , os.linesep ,dataset1.tsv , os.linesep)#导出到Excel表格中dataset1.title = 'dataset1'     #设置Excel中表单的名称dataset2.title = 'dataset2'myfile = open('mydata.xlsx', 'wb')myfile.write(dataset1.xlsx)myfile.close()#如果有多个sheet表单,使用DataBook就可以了myDataBook = tablib.Databook((dataset1, dataset2))myfile = open(myfile.name, 'wb')myfile.write(myDataBook.xlsx)myfile.close()

 

输出的结果为:

 

dataset1: ID|Name    |Tel        |Age--|--------|-----------|---1 |zhangsan|13711111111|16 2 |lisi    |13811111111|18 3 |wangwu  |13911111111|20 4 |zhaoliu |15811111111|25  dataset2:  ID|Name    |Tel        |Age--|--------|-----------|---1 |zhangsan|13711111111|16 2 |lisi    |13811111111|18 3 |wangwu  |13911111111|20 4 |zhaoliu |15811111111|25  增加行后的dataset1:  ID|Name    |Tel        |Age--|--------|-----------|---0 |liuyi   |18211111111|35 1 |zhangsan|13711111111|16 2 |lisi    |13811111111|18 3 |wangwu  |13911111111|20 4 |zhaoliu |15811111111|25 5 |sunqi   |15911111111|30  删除行后的dataset1: ID|Name   |Tel        |Age--|-------|-----------|---3 |wangwu |13911111111|20 4 |zhaoliu|15811111111|25  增加列后的dataset1:  ID|Name   |sex   |Tel        |Age|city    --|-------|------|-----------|---|--------3 |wangwu |male  |13911111111|20 |beijing 4 |zhaoliu|female|15811111111|25 |shenzhen 删除列后的dataset1:  ID|Name   |sex   |Age|city    --|-------|------|---|--------3 |wangwu |male  |20 |beijing 4 |zhaoliu|female|25 |shenzhen yaml format:  - {Age: 20, ID: 3, Name: wangwu, city: beijing, sex: male}- {Age: 25, ID: 4, Name: zhaoliu, city: shenzhen, sex: female} csv format:  ID,Name,sex,Age,city3,wangwu,male,20,beijing4,zhaoliu,female,25,shenzhen tsv format:  ID	Name	sex	Age	city3	wangwu	male	20	beijing4	zhaoliu	female	25	shenzhen
怎么样,是不是很简单呢~~~

 

 

 

 

 

转载于:https://www.cnblogs.com/audilenovo/p/8876667.html

你可能感兴趣的文章
揭开自然拼读法(Phonics)的神秘面纱
查看>>
【Python】启动迅雷下载
查看>>
消息队列之ZeroMQ(C++)
查看>>
Solr部署到tomcat
查看>>
python笔记8-多线程threading之封装式
查看>>
新技术与注会
查看>>
医美分期一定会倒下一大片?
查看>>
MongoDB 通过配置文件启动
查看>>
组合模型初探
查看>>
git解决冲突(rebase版)
查看>>
科研项目之经验之谈
查看>>
一行代码打开相册/相机
查看>>
使用Maven对JAVA程序打包-带主类、带依赖
查看>>
【Lintcode】二叉树的最大深度 - 比较简单,用递归比较好,不递归也能做,比较麻烦...
查看>>
批量 kill mysql 线程
查看>>
Anaconda的使用和包的更新;conda 创建虚拟环境
查看>>
JSON.parse 解析json字符串时,遇换行符报错
查看>>
Spring Cloud 概述
查看>>
Extensions in UWP Community Toolkit - Overview
查看>>
【详细】【转】C#中理解委托和事件
查看>>