Python对Excel进行处理的实操指南

 更新时间:2021年03月05日 15:47:27   作者:一杯冰阔落  
这篇文章主要给大家介绍了关于Python对Excel进行处理的实操指南,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

xlrd、xlwt和openpyxl模块的比较:

区别:

模块 Excel格式支持
xls xlsx
xlrd
xlwt ×
openpyxl ×

效率:

两种包对小文件的读写速度差别不大,而面对较大文件,xlrd/xlwt速度明显优于openpyxl,但因为xlwt无法生成xlsx是个硬伤,所以想要尽量提高效率又不影响结果时,可以考虑用xlrd读取,用openpyxl写入。

一、xlrd:对xls、xlsx文件进行读操作

1.获取工作簿对象:xlrd.open_workbook()

workBook = xlrd.open_workbook(filemname):打开Excel文件读取数据

注:filemname为文件名以及路径,如果路径或者文件名有中文给前面加一个r表示原生字符。

import xlrd
filename=r'D:\记录表.xls'
workBook=xlrd.open_workbook(filename)

2.获取工作表(sheet)对象

1)获取所有sheet页的名字,返回一个列表

workBook.sheet_names()

2)根据sheet页的名字获取指定表名的表,返回的是一个对象

sheetName = workBook.sheet_by_name(‘sheet1')

3)根据sheet索引获取对应sheet表(索引是从0开始的),返回的是一个对象

sheetName = workbook.sheet_by_index(0)

3.获取sheet的名称:name

sheetName.name

4.获取行数和列数:nrows、ncols

1)获取表格的总行数

sheetName.nrows

2)获取表格的总列数

sheetName.ncols

5.获取整行或整列的值(数组):row_values、col_values

rows = sheetName.row_values(0) # 获取第一行内容,返回一个列表
cols = sheetName.col_values(0) # 获取第一列内容,返回一个列表


6.获取指定单元格的值:cell(a,b).value、row(1)[0].value

sheetName.cell(1,0).value # 获取第2行第一列的单元格数据
sheetName.row(1)[0].value # 获取第2行第一列的单元格数据

7.获取单元格内容的数据类型:ctype

sheetName.cell(1,0).ctype

注:返回为代表数据类型的值,编码分别代表:ctype : 0 empty,1 string, 2 number, 3 date, 4 boolean, 5 error 

二、xlwt:对xls文件进行写操作

1.新建工作簿:xlwt.Workbook()

workBook = xlwt.Workbook()

2.在工作簿中新建sheet页:add_sheet()

table = workBook .add_sheet(‘Over',cell_overwrite_ok=True) # 如果对同一单元格重复操作会发生overwrite Exception,cell_overwrite_ok为可覆盖
sheet = workBook .add_sheet(sheet_name) # 新增sheet表
import xlwt
wb=xlwt.Workbook(encoding='utf-8') # 创建一个工作薄
sheet=wb.add_sheet('文件阅读记录信息表') # 创建一个工作表

3.向表格中写入数据:write(i,j,value)

sheet.write(i,j,value) # 向单元格(i,j)写入数据value

4.保存工作簿:save()

workBook.save(path)

三、openpyxl:

1、对xlsx文件进行写操作

1).新建工作簿:openpyxl.Workbook()

workBook = openpyxl.Workbook() # 新建工作簿

2).在工作簿中新建sheet页:create_sheet()

sheet = workBook .create_sheet(sheet_name) # 新增sheet表:sheet_name

3).向表格中写入数据:cell(i,j,value) --索引从1计数

sheet= workBook .active # 获得当前活跃的工作页,默认为第一个工作页
sheet.cell(i,j,value) # 向单元格(i,j)第i行第j列写入数据value

注意:行号和列号都从1开始计数,即(1,1)为第一行第一列

4).保存工作簿:save()

workBook .save(path)

2、openpyxl:对xlsx文件进行读操作

1).获取工作簿对象:openpyxl.load_workbook()

workBook = openpyxl.load_workbook(filemname) # 读取xlsx文件

注:filemname为文件名以及路径,如果路径或者文件名有中文给前面加一个r表示原生字符。

2).获取工作表(sheet)对象

workBook.get_sheet_names() # 获取所有sheet页的名字(所有工作表名)
sheetName = workBook.get_sheet_by_name(‘sheet1') # 根据sheet页的名字获取指定表名的表
sheetName = workBook.worksheets[0] # 根据sheet索引获取对应sheet表

3).获取sheet的名称:title

sheetName.title # 获取sheet的名称

4).获取行数和列数:max_row、max_column

sheetName.max_row # 获取表格的总行数
sheetName.max_column # 获取表格的总列数

5).获取整行或整列的值(数组):rows[i]、columns[i]

rows = sheetName.rows # 获取每一行内容,这是一个生成器,里面是每一行数据,每一行数据由一个元组类型包裹
cols = sheetName.columns # 获取每一列内容,同上
sheetName.rows[0] # 获取第一行内容–索引从0计数
sheetName.columns[0] # 获取第一列内容–索引从0计数

6).获取指定单元格的值:cell(a,b).value–索引从1计数

sheetName[‘A1'].value # 获取第1行第一(A)列的单元格数据
sheetName.cell(1,1).value # 获取第1行第一列的单元格数据

注:此处的行数和列数都是从1开始计数的,而在xlrd中是由0开始计数的

总结

到此这篇关于Python对Excel进行处理的文章就介绍到这了,更多相关Python对Excel处理内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python subprocess执行外部命令常用方法详细举例

    python subprocess执行外部命令常用方法详细举例

    这篇文章主要给大家介绍了关于python subprocess执行外部命令常用方法的相关资料,Python的subprocess模块提供了一种在Python中调用外部命令的方法,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2023-12-12
  • pymysql的简单封装代码实例

    pymysql的简单封装代码实例

    这篇文章主要介绍了pymysql的简单封装代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-01-01
  • Python 生成 -1~1 之间的随机数矩阵方法

    Python 生成 -1~1 之间的随机数矩阵方法

    今天小编就为大家分享一篇Python 生成 -1~1 之间的随机数矩阵方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-08-08
  • python获取外网IP并发邮件的实现方法

    python获取外网IP并发邮件的实现方法

    下面小编就为大家带来一篇python获取外网IP并发邮件的实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-10-10
  • Pytorch 如何实现常用正则化

    Pytorch 如何实现常用正则化

    这篇文章主要介绍了Pytorch 实现常用正则化的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-05-05
  • 详解opencv去除背景算法的方法比较

    详解opencv去除背景算法的方法比较

    本文主要介绍了opencv去除背景算法的方法比较,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • python ImageDraw类实现几何图形的绘制与文字的绘制

    python ImageDraw类实现几何图形的绘制与文字的绘制

    这篇文章主要介绍了python ImageDraw类实现几何图形的绘制与文字的绘制,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02
  • python实现scrapy爬虫每天定时抓取数据的示例代码

    python实现scrapy爬虫每天定时抓取数据的示例代码

    这篇文章主要介绍了python实现scrapy爬虫每天定时抓取数据的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • 用Python编写脚本使IE实现代理上网的教程

    用Python编写脚本使IE实现代理上网的教程

    这篇文章主要介绍了用Python编写脚本使IE实现代理上网的教程,“著名的”goagent代理也是基于同样原理实现,需要的朋友可以参考下
    2015-04-04
  • python文字转语音实现过程解析

    python文字转语音实现过程解析

    这篇文章主要介绍了python文字转语音实现过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-11-11

最新评论