Tablib:是一款简单好用、多种格式的数据管理的Python库

1 说明:

=====

1.1 python的数据管理的库有很多,我还是觉得tablib库简单好用。

1.2 Tablib 是一个与表格格式数据有关的Python库,允许导入、导出、管理表格格式数据。

1.3 适合多种格式:

Excel (Sets   Books)
JSON (Sets   Books)
YAML (Sets   Books)
HTML (Sets)
TSV (Sets)
CSV (Sets)
Tablib:是一款简单好用、多种格式的数据管理的Python库

好好学习,进入大数据时代了,如何管理数据很重要!

2 官网:

=====

https://github.com/jazzband/tablib
https://tablib.readthedocs.io/en/stable/
https://pypi.org/project/tablib/

3 安装:

=====

pip install tablib
#本机安装
#sudo pip3.8 install tablib

4 xls格式:

=======

4.1 代码:

#---数据导出xls:方法一---
import tablib
#表头,支持中文
headers = (\'序号\', \'用户\', \'年龄\')
#数据
data = [
    (\'1\', \'Rooney\', 20),
    (\'2\', \'John\', 30),
]
#数据集合
data = tablib.Dataset(*data, headers=headers)
#打开或者新建一个1.xls,wb方式
table = open("/home/xgj/Desktop/tablib/1.xls", "wb")
#写入
table.write(data.xls)
#关闭
table.close()

4.2 操作示意和效果图:

Tablib:是一款简单好用、多种格式的数据管理的Python库

4.3 上述代码还可以这样修改,推荐这种,效果一样:

#---数据导出xls:方法二:推荐这种---
import tablib
#表头,支持中文
headers = (\'序号\', \'用户\', \'年龄\')
#数据
data = [
    (\'1\', \'Rooney\', 20),
    (\'2\', \'John\', 30),
]
#数据集合
data = tablib.Dataset(*data, headers=headers)

with open(\'/home/xgj/Desktop/tablib/2.xls\',\'wb\') as f:
    #f.write(data.xls)
    f.write(data.export(\'xls\'))  #与上面相同

4.4 增加行和列;删除行和列

#---数据导出xls:增加行和列---
import tablib
#表头,支持中文
headers = (\'序号\', \'用户\', \'年龄\')
#数据
data = [
    (\'1\', \'Rooney\', 20),
    (\'2\', \'John\', 30),
]
#数据集合
data = tablib.Dataset(*data, headers=headers)
#增加行
data.append([\'3\', \'Keven\',18])
data.append([\'4\', \'tom\',22])
#增加列
data.append_col([2200, 2000,1300], header=\'收入\')
#删除行
#del data[1:3]  #删除23行的数据,列表截取data的索引0,1,2,3,41对应第2行数据序号2的数据
#删除列
#del data[\'Age\']
with open(\'/home/xgj/Desktop/tablib/2.xls\',\'wb\') as f:
    f.write(data.xls)

4.5 读取上述删除行和列的数据,并打印:

import tablib
data = tablib.Dataset()
#读取数据
with open(\'/home/xgj/Desktop/tablib/2.xls\', \'rb\') as f:
    data.load(f, \'xls\')
print(data)
序号|用户    |年龄  
--|------|----
1 |Rooney|20.0
4 |tom   |22.0

5 csv格式:

========

5.1 代码:

#---数据导出csv
import tablib
#表头,支持中文
headers = (\'序号\', \'用户\', \'年龄\')
#数据
data = [
    (\'1\', \'Rooney\', 20),
    (\'2\', \'John\', 30),
]
#数据集合
#dialect=\'unix\'
#data=tablib.Dataset(*data, format=\'csv\', headers=False)  #表头隐藏
data=tablib.Dataset(*data, format=\'csv\', headers=headers)  #表头显示,注意这里不是True
#csv的特色
data.export(\'csv\', delimiter=\' \', quotechar=\'|\')
#指定路径和文件名
with open(\'/home/xgj/Desktop/tablib/3.csv\', \'w\', newline=\'\') as f:
    f.write(data.export(\'csv\'))

5.2 效果图:

Tablib:是一款简单好用、多种格式的数据管理的Python库

6 json格式:

========

6.1 代码:

import tablib
#表头
headers = (\'序号\', \'用户\', \'年龄\')
#数据
data = [
    (\'1\', \'Rooney\', 20),
    (\'2\', \'John\', 30),
]
dst = tablib.Dataset(*data, headers=headers)

print(dst)  #终端输出表格格式
#encoding=\'utf8\'
with open(\'/home/xgj/Desktop/tablib/4.json\', mode=\'w\',encoding=\'utf8\') as f:
    #f.write(dst.json)
    f.write(dst.export(\'json\'))  #与上面相同
    #ensure_ascii=False
    print(dst.json)  #终端输出json格式
    #已经被转换成Unicode码,如:"\u5e8f\u53f7"=\'序号\'
#终端输出效果
序号|用户    |年龄
--|------|--
1 |Rooney|20
2 |John  |30
[{"\u5e8f\u53f7": "1", "\u7528\u6237": "Rooney", "\u5e74\u9f84": 20}, {"\u5e8f\u53f7": "2", "\u7528\u6237": "John", "\u5e74\u9f84": 30}]

6.2 解决这个问题:#已经被转换成Unicode码,如:”\u5e8f\u53f7″=\’序号\’

#解决办法用python的 json模块,顺带复习
import json
with open("/home/xgj/Desktop/tablib/4.json", "r", encoding=\'utf-8\') as f:
    aa = json.loads(f.read())
    f.seek(0)
    bb = json.load(f)    # 与 json.loads(f.read())
print(aa)
print(bb)
#终端输出效果图
[{\'序号\': \'1\', \'用户\': \'Rooney\', \'年龄\': 20}, {\'序号\': \'2\', \'用户\': \'John\', \'年龄\': 30}]
[{\'序号\': \'1\', \'用户\': \'Rooney\', \'年龄\': 20}, {\'序号\': \'2\', \'用户\': \'John\', \'年龄\': 30}]

7 读取数据:

7.1 图

Tablib:是一款简单好用、多种格式的数据管理的Python库
Tablib:是一款简单好用、多种格式的数据管理的Python库

7.2 读取xls

7.2.1 代码:

import tablib

data = tablib.Dataset()
#读取数据
with open(\'/home/xgj/Desktop/tablib/1.xls\', \'rb\') as f:
    data.load(f, \'xls\')
print(data)

7.2.2 图:

Tablib:是一款简单好用、多种格式的数据管理的Python库

csv省略

7.3 读取json

7.3.1 代码:比6.2代码简单吧,跳过json模块的load和loads的知识。

import tablib
data = tablib.Dataset()
with open(\'/home/xgj/Desktop/tablib/4.json\', \'rb\') as f:
    data.load(f, \'json\')
print(data)

7.3.2 效果图:

Tablib:是一款简单好用、多种格式的数据管理的Python库

8 df格式和yaml格式:了解一下。

Tablib:是一款简单好用、多种格式的数据管理的Python库

超级简单。

内容出处:,

声明:本网站所收集的部分公开资料来源于互联网,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。如果您发现网站上有侵犯您的知识产权的作品,请与我们取得联系,我们会及时修改或删除。文章链接:http://www.yixao.com/share/19706.html

发表评论

登录后才能评论