在实际应用中,经常会遇到需要读取或导入Excel文件的情况,那么在Python中如何读取 Excel 表格呢?
本文中介绍如何使用Tablib库来导入Excel文件。
Tablib是一个表格数据集库,可用于导入、导出和操作表格数据集,Tablib支持大部分流行的表格数据(文件)格式:
cli |
csv |
dbf |
df (DataFrame) |
html |
jira |
json |
latex |
ods |
rst |
tsv |
xls |
xlsx |
yaml |
|
其中,xls和xlsx就是Excel文件格式。
我们看看Tablib的使用方法。
安装
执行命令
pip install “tablib[all]”
安装Tablib及所有支持格式的依赖项。
如果只需支持xls,xlsx格式,则使用下述命令:
pip install "tablib[xls,xlsx]"
读取Excel文件
Tablib的核心是Dataset对象,我们通过创建Databook或Dataset来实现对数据表的读取。我们使用一个示例Excel文件,该文件只有一个工作表,表格内容如下:
demo.xlsx文件
下面的代码对该文件进行读取。
from tablib import Dataset,Databook
#打开Xcel文件,注意xlsx的打开方式为字节方式”rb“; CSV等类型的文件则采用文本方式打开。
filepath = "demo.xlsx"
f = open(filepath,"rb")
multi_sheet = False
#对于多工作表的Excel表格,使用Databook读取工作表
if multi_sheet:
databook = Databook().load(f.read(),headers=False,format="xlsx")
datasets = databook.sheets()
#获得第2个工作表
dataset = datasets[1]
else:#对于只有一个工作表的Excel表格,可直接使用Dataset读取dataset对象
dataset = Dataset().load(f.read(),headers=False,format="xlsx")
f.close()
print(dataset)
在上述代码中,使用open打开Excel文件,调用f.read()作为输入流传递给Dataset对象读取。需要注意的是xlsx文件的打开方式为字节方式"rb"; 而CSV等文本类型的文件则采用文本方式打开。
上述代码的输出结果如下:
简单的表格示例|None|None|None
None |None|None|None
姓名 |年龄 |身高 |体重
张三 |18 |178 |68
李四 |20 |177 |65
王五 |22 |176 |70
上面代码中只是取到了数据,还需要对数据进行一些处理,包括设置表头、删除非标准数据行等。
#接续上面的代码
#设置表头和标题
dataset.title = dataset[0]
dataset.headers = dataset[2]
#前3行不是数据,删除。
del dataset[:3]
print(dataset)
输出结果:
姓名|年龄|身高 |体重
--|--|---|--
张三|18|178|68
李四|20|177|65
王五|22|176|70
Dataset对象设置了表头之后,我们就可以按列名获取数据了。
#打印‘姓名’列
print(dataset["姓名"])
输出结果:
['张三', '李四', '王五']
以上代码在Python3.7运行通过。
「真诚赞赏,手留余香」
真诚赞赏,手留余香
使用微信扫描二维码完成支付
转载请注明:首页 > 投稿 » python怎么从excel获取数据(python读取excel获取数据教程分享)
发表评论
版权声明
求资源网所发布的一切破解补丁,软件,以及其他分析文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途。
否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。