当前位置:主页 > 软件编程 > Python代码 >

Python自动化办公之读取Excel数据的实现

时间:2022-06-09 09:20:18 | 栏目:Python代码 | 点击:

前言

之前的章节我们学习了 python 关于 word 文件相关操作的知识点,从今天开始讲学习关于 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)

运行结果如下:

您可能感兴趣的文章:

相关文章