Python利用xlrd 与 xlwt 模块操作 Excel

目录
  • Python 操作 Excel
  • 打开Excel文件读取数据
  • 行的操作
  • 获取所有行数据
  • 列的操作
  • 单元格操作

Python 操作 Excel

本篇博客介绍一种 Python 操作 Excel 的办法,核心用到 xlrd与xlwt模块。

  • xlrd 用于读 excel
  • xlwt 用于写 excel

模块安装比较简单:

pip install  xlrd,xlwt

正式开始前还需要了解一下 Excle 中的三大对象:

  • WorkBook:工作簿对象
  • Sheet:表对象
  • Cell:单元格对象

这里 WorlBook 表示的是整个 Excel 文件, Sheet 表示的是 Excel 中的 Sheet, Cell 就是每个单元格。

常用单元格( Cell )中的数据类型

  • empty(空的)
  • string(text)
  • number
  • date
  • boolean
  • error
  • blank(空白表格)

打开Excel文件读取数据

提前准备一个 Excel 表格,用作测试使用:

直接看代码即可:

import xlrd
data = xlrd.open_workbook('测试表格.xlsx') # filename 表示文件名以及路径
print(data)
# 输出
# <xlrd.book.Book object at 0x00000272DE9276A0>

注意最新版的 xlrd 模块已经不支持 xlsx 文件了,如果希望支持该文件格式,请使用如下版本 xlrd 。

pip uninstall xlrd  # 卸载当前版本
pip install xlrd==1.2.0 # 安装1.2.0版本

获取 Excel 中的Sheet:

import xlrd
data = xlrd.open_workbook('测试表格.xlsx')  # filename 表示文件名以及路径
table = data.sheets()[0]  # 通过索引顺序获取
print(table)
table = data.sheet_by_index(1) # 通过索引顺序获取
sheet_name = '测试1'
table = data.sheet_by_name(sheet_name) # 通过 Sheet 名称获取
print(table)

以上方法返回的是 xlrd.sheet.Sheet() 对象。 如果不存在 Sheet ,或者名称写错,则出现如下 BUG

xlrd.biffh.XLRDError: No sheet named <'测试1'>

调用工作簿对象的 sheet_names() 方法,可以返回工作簿的所有sheet页名字。

import xlrd
data = xlrd.open_workbook('测试表格.xlsx')  # filename 表示文件名以及路径
sheet_names = data.sheet_names()
print(sheet_names)

使用该方法优先获取所有的 sheet_name ,可以防止调非法名称。

行的操作

import xlrd
data = xlrd.open_workbook('测试表格.xlsx')  # filename 表示文件名以及路径
table = data.sheet_by_index(0)
nrows = table.nrows  # 获取该sheet中的有效行数
print(nrows)

获取第一行内容:

import xlrd
data = xlrd.open_workbook('测试表格.xlsx')  # filename 表示文件名以及路径
sheet = data.sheet_by_index(0)
nrows = sheet.nrows  # 获取该sheet中的有效行数
row_data = sheet.row_values(0)  # 获取第1行的内容
print(row_data)

获取所有行数据

import xlrd
data = xlrd.open_workbook('测试表格.xlsx')  # filename 表示文件名以及路径
sheet = data.sheet_by_index(0)
nrows = sheet.nrows  # 获取该sheet中的有效行数
for i in range(nrows):
    print(sheet.row_values(i)) # 获取第几行的数据

返回由该列中所有的单元格对象组成的列表:

import xlrd
data = xlrd.open_workbook('测试表格.xlsx')  # filename 表示文件名以及路径
sheet = data.sheet_by_index(0)
print(sheet.row_slice(0))
# 输出
# [text:'姓名', text:'班级', text:'年龄']

其余内容参考代码查看即可:

# 返回由该行中所有单元格的数据类型组成的列表
sheet .row_types(行索引, start_colx=0, end_colx=None)
# 返回由该行中所有单元格的数据组成的列表
sheet .row_values(行索引, start_colx=0, end_colx=None)
# 返回该列的有效单元格长度
sheet .row_len(行索引) 

列的操作

获取有效列数:

import xlrd
data = xlrd.open_workbook('测试表格.xlsx')  # filename 表示文件名以及路径
sheet = data.sheet_by_index(0)
ncols = sheet.ncols   #获取列表的有效列数
print(ncols)

单元格操作

获取单元格内容 cell(rowx, colx) :获取sheet对象中第rowx行,第colx列的单元对象, 返回值的格式为 单元类型:单元值 。

import xlrd
data = xlrd.open_workbook('测试表格.xlsx')  # filename 表示文件名以及路径
sheet = data.sheet_by_index(0)
data = sheet.cell(2, 1)
print(data)

获取单元格的值:

data = sheet.cell_value(2, 1)
print(data)

xlwt模块(操作 .xls 文件进行操作) 使用说明在注释直接查看即可。

import xlwt
xl = xlwt.Workbook(encoding='utf-8')
# 创建1个sheet对象,第2个参数是指单元格是否允许重设置,默认为False
sheet = xl.add_sheet('测试', cell_overwrite_ok=True)
# 第1个参数代表行,第2个参数是列,第3个参数是内容,第4个参数是格式
sheet.write(0, 0, '姓名')
sheet.write(0, 1, '年纪')
xl.save('橡皮擦的测试.xls')

设置单元格样式的基本用法:

import xlwt
xl = xlwt.Workbook(encoding='utf-8')
# 创建1个sheet对象,第2个参数是指单元格是否允许重设置,默认为False
sheet = xl.add_sheet('测试', cell_overwrite_ok=False)
# 初始化样式
style = xlwt.XFStyle()
# 为样式创建字体
font = xlwt.Font()
font.name = 'Arial Black'
style.font = font
# 第1个参数代表行,第2个参数是列,第3个参数是内容,第4个参数是格式
sheet.write(0, 0, '姓名')
sheet.write(0, 1, '年纪', style)
xl.save('橡皮擦的测试.xls')

合并单元格:

# 合并 第1行到第2行 的 第1列到第2列
sheet.write_merge(1, 2, 1, 2, '合并单元格')

到此这篇关于Python利用xlrd 与 xlwt 模块操作 Excel 的文章就介绍到这了,更多相关Python操作 Excel 内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • python中使用xlrd、xlwt操作excel表格详解

    最近遇到一个情景,就是定期生成并发送服务器使用情况报表,按照不同维度统计,涉及python对excel的操作,上网搜罗了一番,大多大同小异,而且不太能满足需求,不过经过一番对源码的"研究"(用此一词让我觉得颇有成就感)之后,基本解决了日常所需.主要记录使用过程的常见问题及解决. python操作excel主要用到xlrd和xlwt这两个库,即xlrd是读excel,xlwt是写excel的库.可从这里下载https://pypi.python.org/pypi.下面分别记录python

  • Python xlrd/xlwt 创建excel文件及常用操作

    一.创建excel代码 备注:封装好了(可直接调用) """ -*- coding:utf-8 -*- @Time :2020/8/20 21:02 @Author :Jarvis @File :jar_excel_util.py @Version:1.0 """ from typing import List import xlwt class JarExcelUtil: def __init__(self, header_list: List

  • Python如何利用xlrd和xlwt模块操作Excel表格

    目录 简介: 安装: 初始数据: xlrd使用: xlwt使用: xlwt使用示例2: 总结 简介: xlrd和xlwt是python的第三方库,xlrd模块实现对excel文件内容读取,xlwt模块实现对excel文件的写入. 安装: pip install xlrd pip install xlwt 初始数据: excelLearn.xls 个人信息表: 姓名 年龄 地址 Tom 26 CN Jo 27 UK Lily 28 US Kim 29 JP 班级成绩表: 考试日期 班级 分数 20

  • Python使用xlrd模块操作Excel数据导入的方法

    本文实例讲述了Python使用xlrd模块操作Excel数据导入的方法.分享给大家供大家参考.具体分析如下: xlrd是一个基于python的可以读取excel文件的产品.和pyExcelerator相比,xlrd的主要特点在于读的功能比较强大,提供了表单行数.列数.单元格数据类型等pyExcelrator无法提供的详细信息,使得开发人员无须了解表单的具体结构也能对表单中的数据进行正确的分析转换. 但是xlrd仅仅提供了读取excel文件的功能,不能像pyExcelrator那样生成excel文

  • python读取excel进行遍历/xlrd模块操作

    我就废话不多说了,大家还是直接看代码吧~ #!/usr/bin/env python # -*- coding: utf-8 -*- import csv import xlrd import xlwt def handler_excel(filename=r'/Users/zongyang.yu/horizon/ops_platform/assets/upload/1.xlsl'): # 打开文件 workbook = xlrd.open_workbook(filename) index =

  • Python利用xlrd 与 xlwt 模块操作 Excel

    目录 Python 操作 Excel 打开Excel文件读取数据 行的操作 获取所有行数据 列的操作 单元格操作 Python 操作 Excel 本篇博客介绍一种 Python 操作 Excel 的办法,核心用到 xlrd与xlwt模块. xlrd 用于读 excel: xlwt 用于写 excel. 模块安装比较简单: pip install xlrd,xlwt 正式开始前还需要了解一下 Excle 中的三大对象: WorkBook:工作簿对象 Sheet:表对象 Cell:单元格对象 这里 

  • 利用Python中xlwt模块操作excel的示例详解

    目录 一.安装 二.创建表格并写入 三.设置单元格样式 四.设置单元格宽度 五.设置单元格背景色 六.设置单元格内容对齐方式 七.单元格添加超链接 八.单元格添加公式 九.单元格中输入日期 十.合并行和列 十一.单元格添加边框 一.安装 pip install xlwt 二.创建表格并写入 import xlwt # 创建一个workbook并设置编码 workbook = xlwt.Workbook(encoding = 'utf-8') # 添加sheet worksheet = workb

  • Python使用xlwt模块操作Excel的方法详解

    本文实例讲述了Python使用xlwt模块操作Excel的方法.分享给大家供大家参考,具体如下: 部分摘自官网文档. 该模块安装很简单 $ pip install xlwt 先来个简单的例子: #!/usr/bin/python #coding=utf-8 # ============================================================================== # # Filename: demo.py # Description: exc

  • Python使用xlrd和xlwt批量读写excel文件的示例代码

    一.使用xlrd对excel进行数据读取 excel表格示例: 安装xlrd库 pip install xlrd 导入xlrd库 import xlrd 读取excel文件,即刚刚创建的excel表格 # 给出excel文件绝对路径 loc = ("path of file") # 打开工作表 wb = xlrd.open_workbook(loc) # 这里读取的是第一个sheet sheet = wb.sheet_by_index(0) 打印excel表格第一行第一列 >&g

  • Python基于xlrd模块操作Excel的方法示例

    本文实例讲述了Python基于xlrd模块操作Excel的方法.分享给大家供大家参考,具体如下: 一.使用xlrd读取excel 1.xlrd的安装: pip install xlrd==0.9.4 2.基本操作示例: #coding: utf-8 import xlrd #导入xlrd模块 xlsfile=r"D:\workspace\host.xls" #获得excel的book对象 book = xlrd.open_workbook(filename=None, file_con

  • Python使用xlrd和xlwt实现自动化操作Excel

    目录 一.前言介绍 二.安装 三.xlrd常用操作 1.打开Excel 2.查看工作簿中所有sheet 3.选择一个工作表 4.获取表格的行数.列数 5.获取整行和整列的值 6.通过循环读取表格的所有行 7.获取单元格的值 四.xlwt常用操作 1.新建Excel文件 2.新建工作表 3.写入数据到指定单元格 4.保存文件 五.综合xlrd.xlwt读写Excel ​1.读 2.写 一.前言介绍 xlrd:可以对xlsx.xls.xlsm文件进行读操作且效率高. xlwt:主要对xls文件进行写

  • python利用xlsxwriter模块 操作 Excel

    xlsxwriter 简介 用于以 Excel 2007+ XLSX 文件格式编写文件,相较之下 PhpSpreadsheet 支持更多的格式读写. 优点 文本,数字和公式写入,速度很快,占用内存小 支持诸如格式设置,图像,图表,页面设置,自动过滤器,条件格式设置等功能 缺点 无法读取或修改现有的 Excel XLSX 文件 演示 其使用流程,与你使用 excel 流程一致,只不过将你主步骤分解成了一个个对象实例来操作,通过引用实现操作关联 import xlsxwriter # 1.创建工作簿

  • python使用xlrd与xlwt对excel的读写和格式设定

    前言 python操作excel主要用到xlrd和xlwt这两个库,即xlrd是读excel,xlwt是写excel的库.本文主要介绍了python使用xlrd与xlwt对excel的读写和格式设定,下面话不多说,来看看详细的实现过程. 脚本里先注明# -*- coding:utf-8 -*-    1.  确认源excel存在并用xlrd读取第一个表单中每行的第一列的数值. import xlrd, xlwt import os assert os.path.isfile('source_ex

随机推荐