Python自动化办公之读取Excel数据的实现
时间:2022-06-09 09:20:18|栏目:Python代码|点击: 次
前言
之前的章节我们学习了 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)
运行结果如下: