Python tablib模块

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


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


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

import tablib
import os

#创建dataset,方法1
dataset1 = 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,方法2
header2 = ('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()



输出的结果为:

[python]  view plain copy print ?
  1. dataset1:   
  2. ID|Name    |Tel        |Age  
  3. --|--------|-----------|---  
  4. 1 |zhangsan|13711111111|16   
  5. 2 |lisi    |13811111111|18   
  6. 3 |wangwu  |13911111111|20   
  7. 4 |zhaoliu |15811111111|25    
  8.   
  9.   
  10. dataset2:    
  11. ID|Name    |Tel        |Age  
  12. --|--------|-----------|---  
  13. 1 |zhangsan|13711111111|16   
  14. 2 |lisi    |13811111111|18   
  15. 3 |wangwu  |13911111111|20   
  16. 4 |zhaoliu |15811111111|25    
  17.   
  18.   
  19. 增加行后的dataset1:    
  20. ID|Name    |Tel        |Age  
  21. --|--------|-----------|---  
  22. 0 |liuyi   |18211111111|35   
  23. 1 |zhangsan|13711111111|16   
  24. 2 |lisi    |13811111111|18   
  25. 3 |wangwu  |13911111111|20   
  26. 4 |zhaoliu |15811111111|25   
  27. 5 |sunqi   |15911111111|30    
  28.   
  29.   
  30. 删除行后的dataset1:   
  31. ID|Name   |Tel        |Age  
  32. --|-------|-----------|---  
  33. 3 |wangwu |13911111111|20   
  34. 4 |zhaoliu|15811111111|25    
  35.   
  36.   
  37. 增加列后的dataset1:    
  38. ID|Name   |sex   |Tel        |Age|city      
  39. --|-------|------|-----------|---|--------  
  40. 3 |wangwu |male  |13911111111|20 |beijing   
  41. 4 |zhaoliu|female|15811111111|25 |shenzhen   
  42.   
  43.   
  44. 删除列后的dataset1:    
  45. ID|Name   |sex   |Age|city      
  46. --|-------|------|---|--------  
  47. 3 |wangwu |male  |20 |beijing   
  48. 4 |zhaoliu|female|25 |shenzhen   
  49.   
  50.   
  51. yaml format:    
  52. - {Age: 20, ID: 3, Name: wangwu, city: beijing, sex: male}  
  53. - {Age: 25, ID: 4, Name: zhaoliu, city: shenzhen, sex: female}  
  54.    
  55.   
  56.   
  57. csv format:    
  58. ID,Name,sex,Age,city  
  59. 3,wangwu,male,20,beijing  
  60. 4,zhaoliu,female,25,shenzhen  
  61.   
  62.    
  63.   
  64.   
  65. tsv format:    
  66. ID  Name    sex Age city  
  67. 3   wangwu  male    20  beijing  
  68. 4   zhaoliu female  25  shenzhen  
  69.   
  70.    

怎么样,是不是很简单呢~~~

转自:http://blog.csdn.net/Calling_Wisdom/article/details/41447791?ref=myrecommend

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值