Python自动化办公之读取Excel数据的实现
目录
- 前言
- Excel 读取 - xlrd
- 常用函数介绍
- 获取 excel 对象
- 获取工作簿
- 读取工作簿内容
前言
之前的章节我们学习了 python 关于 word 文件相关操作的知识点,从今天开始讲学习关于 excel 的相关操作,来看一下关于即将学习的 excel 相关知识点都有哪些?
- 如何读取 excel 文件
- 如何生成 excel 文件
- 如何在 excel 中生成基础的图表
目标:实现对 excel 的最基础的读写内容
该篇章所使用的新的模块
xlrd —> excel 的读取模块
xlsxwriter —> excel 的写入模块
ps:excel 的操作在 python中有多个模块,为了能够快速使用,这里我们选择了相对简单并且功能较为全面的模块来为大家做介绍。
Excel 读取 - xlrd
xlrd 的安装
安装方式:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple xrld==1.2.0
这里可能大家会有疑问,为何要指定 xrld 的版本号。原始更高级的版本,存在着一些不兼容的问题,所以在该章节我们使用 1.2.0 版本。
导入:
import xlrd
常用函数介绍
获取 excel 对象
使用方法:
book = xlrd.open_workbook(excel文件) 这里的 book 就是 excel 对象
返回值:
excel 对象
代码示例如下:
# coding:utf-8 import xlrd excel = xlrd.open_workbook('study.xlsx') print(excel)
运行结果如下:
获取工作簿
在 excel 表格中存在多个工作簿,获取工作簿有三种常用方式。
函数名 | 说明 |
---|---|
book.sheet_by_name() | 按照工作簿名称获取 |
book.sheet_by_index() | 按照索引获取 |
book.sheets() | 获取所有工作簿列表 |
代码示例如下:
# coding:utf-8 import xlrd excel = xlrd.open_workbook('study.xlsx') # print(excel) book = excel.sheet_by_name('学生手册') print(book) book = excel.sheet_by_index(0) print(book.name)
运行结果如下:
ps:在不知道工作簿名称的情况下也可以通过 for 循环的方式打印输出所有的工作簿名称:
# coding:utf-8 import xlrd excel = xlrd.open_workbook('study.xlsx') # print(excel) book = excel.sheet_by_name('学生手册') print(book) book = excel.sheet_by_index(0) print(book.name) for i in excel.sheets(): print(i.name)
读取工作簿内容
函数名 | 说明 |
---|---|
sheet.nrows | 返回总行数 |
sheet.ncols | 返回总列数 |
sheet.get_rows() | 返回每行内容列表 |
代码示例如下:
# coding:utf-8 import xlrd excel = xlrd.open_workbook('study.xlsx') # print(excel) book = excel.sheet_by_name('学生手册') print(book) book = excel.sheet_by_index(0) print(book.name) for i in excel.sheets(): print(i.name) print("当前 excel 文件共有:", book.nrows, "行") print("当前 excel 文件共有:", book.ncols, "列") for i in book.get_rows(): # for 循环获取每一行的内容 content = [] # 定义一个空列表,用以存储每一次循环获取的内容 for j in i: # for 循环获取每一行的每一小格的内容,然后添加到 content 空列表 content.append(j.value) print(content)
运行结果如下:
到此这篇关于Python自动化办公之读取Excel数据的实现的文章就介绍到这了,更多相关Python读取Excel数据内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!
赞 (0)