首页 > 编程语言 >Python表格格式转换模块:tablib

Python表格格式转换模块:tablib

时间:2024-10-30 11:19:46浏览次数:8  
标签:小王 表格 22 Python Dataset tablib csv data

文章目录

安装

Tablib是Python的表格转换插件,支持不同格式表格之间的转换,其推荐的安装方式为

pip install "tablib[all]"

其中,all等同于html, pandas, ods, xls, xlsx, yaml,表示在安装tablib的基础上,同时对这些不同的文件格式提供支持。如果不需要,也可以只安装tablib

pip install tablib

创建表格

尽管tablib的主打功能是格式转换,但为了有一个可供操作的数据,这里先讲解一下tablib的创建表格的功能。

import tablib

data = tablib.Dataset()

data.headers = ['姓名', '性别']

data.append(["小王", "男"])  # 添加行
data.append(["小李", "女"])

data.append_col([22, 20], header='年龄')

data['姓名']    # ['小王', '小李']
data[0]         # ('小王', '男', 22)
print(data.dict)
# [{'姓名': '小王', '性别': '男', '年龄': 22}, {'姓名': '小李', '性别': '女', '年龄': 20}]

【Dataset】是tablib的主要数据结构,可以理解为表格。【headers】是表格的标题属性。

【append】用于添加行;【append_col】用于添加列。

最终得到了如下表格

姓名性别年龄
小王22
小李20

导出数据

【dict】是Dataset中的一个属性,以字典的形式存储着Dataset中的数据。而datalib的主打功能,就是将这些数据转化为各种不同的格式,故而Dataset中也封装了各种不同的属性,包括:cli, csv, dbf, df, html, jira, json, latex, ods, rst, tsv, xls, xlsx, yaml等,示例如下

print(data.csv)
# 姓名,性别,年龄
# 小王,男,22
# 小李,女,20

print(data.yaml)
# {姓名: 小王, 年龄: 22, 性别: 男}
# {姓名: 小李, 年龄: 20, 性别: 女}

此外,通过export函数,可以通过字符串来声明其转换格式

data.export("json")
# '[{"姓名": "小王", "性别": "男", "年龄": 22}, {"姓名": "小李", "性别": "女", "年龄": 20}]'

读写

Dataset数据在导出之后,可以直接存储为对应文件

with open("test.csv", 'w', newline="") as t:
    t.write(data.csv)

如上即可将表格以csv的格式写入test.csv文件。在open函数中,newline默认为回车,如不更改,会在行间添加一个空行。

读取为其逆过程

with open("test.csv", 'r') as t:
    d1 = tablib.Dataset().load(t, format='csv')

print(d1)
# 姓名|性别|年龄
# --|--|--
# 小王|男 |22
# 小李|女 |20

【load】即为Dataset中用于加载数据的方法。其两个

标签:小王,表格,22,Python,Dataset,tablib,csv,data
From: https://blog.csdn.net/m0_37816922/article/details/143328470

相关文章

  • 【一分钟配置Python环境变量
    配置Python环境变量可以帮助系统找到Python解释器和相关工具。下面是如何在不同操作系统上配置Python环境变量的步骤:Windows 1.安装Python:在官方网站下载并安装Python,安装过程中选择“AddPythontoPATH”选项。手动配置环境变量:右击“此电脑”或“计算机”,选择“属性......
  • 采用线性回归实现训练和预测(Python)
    已知测得某块地,当温度处于15至40度之间时,数得某块草地上小花朵的数量和温度值的数据如下表所示。现在要来找出这些数据中蕴含的规律,用来预测其它未测温度时的小花朵的数量。测得数据如下图所示:importnumpyasnpimportmatplotlib.pyplotaspltfromsklearn.linear_model......
  • python性能优化
    0.代码优化原则本文会介绍不少的Python代码加速运行的技巧。在深入代码优化细节之前,需要了解一些代码优化基本原则。第一个基本原则是不要过早优化。很多人一开始写代码就奔着性能优化的目标,“让正确的程序更快要比让快速的程序正确容易得多”。因此,优化的前提是代码能正常工......
  • 基于Python拉取快手直播视频流,并将视频流切割成一定时长的视频片段
    通过访问快手的直播间网页,从网页的script标签内部提取出关于该直播间的相关信息的JSON串,最终从JSON里提取出直播视频流的hls地址和直播间的其他信息。附代码importjsonimportrandomimportreimportsubprocessimportsysimporttimefromenumimportEnumfromurlli......
  • python基础(元组)
    学习目标:元组的概念,创建,访问元组元素,删除和修改,推导式一.元组的概念:1.元组和列表类似,元素用小括号()包围2.各元素之间使用逗号隔开3.有序的,不可变的数据类型,没有增删该查,如果要修改,可以采用其他的数据类型,给元组重新赋值4.元素可以是不同的数据类型二.创建元组1.创......
  • 深入Python爬虫技术:数据存储与反爬虫策略
    深入Python爬虫技术:数据存储与反爬虫策略在第一篇文章中,我们介绍了Python爬虫的基础知识和简单的网页内容获取方法。接下来,我们将继续深入学习,探讨如何有效地存储爬取的数据,以及应对网站的反爬虫机制。数据存储可以帮助我们积累并组织数据,而反爬虫策略则确保爬虫在不断变化......
  • 使用最小二乘法进行线性回归(Python)
    已知测得某块地,当温度处于15至40度之间时,数得某块草地上小花朵的数量和温度值的数据如下表所示。现在要来找出这些数据中蕴含的规律,用来预测其它未测温度时的小花朵的数量。测得数据如下图所示:importmatplotlib.pyplotaspltimportnumpyasnptemperatures=[15,20,......
  • 基于图论的时间序列数据平稳性与连通性分析:利用图形、数学和 Python 揭示时间序列数据
    时间序列数据表示了一个随时间记录的值的序列。理解这些序列内部的关系,尤其是在多元或复杂的时间序列数据中,不仅仅局限于随时间绘制数据点(这并不是说这种做法不好)。通过将时间序列数据转换为图,我们可以揭示数据片段内部隐藏的连接、模式和关系,帮助我们发现平稳性和时间连通......
  • 基于python的语音识别与蓝牙通信的温控系统
    基于python的语音识别与蓝牙通信的温控系统大家好我是小俊学长,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于python的语音识别与蓝牙通信的温控系统。项目源码以及部署相关请联系小俊学长,文末附上联系信息。......
  • 【Python原创毕设|课设】基于Python Flask IT行业招聘可视化分析系统-文末附下载方式,
    基于PythonFlask物流行业招聘可视化分析系统(获取方式访问文末官网)一、项目简介二、开发环境三、项目技术四、功能结构五、运行截图六、数据库设计七、功能实现八、源码获取一、项目简介本系统是一款基于PythonFlask的IT行业招聘可视化分析平台,旨在为行业用户提供......