python读取excel文件

发布时间: 2023-12-26 19:24 阅读: 文章来源:ATC2514EGS

在实际应用中,经常会遇到需要读取或导入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|NoneNone |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运行通过。

•••展开全文
相关文章