Python使用xlrd和xlwt实现自动化操作Excel
作者:醉蕤 发布时间:2021-08-24 10:54:19
标签:Python,xlrd,xlwt,自动化,操作,Excel
一、前言介绍
xlrd:可以对xlsx、xls、xlsm文件进行读操作且效率高。
xlwt:主要对xls文件进行写操作且效率高,但是不能执行xlsx文件。
xlrd
是用来从Excel中读写数据的,但通常只用它进行读操作,写操作会相对于专门写入的模块麻烦一些。
xlwt
只能对Excel进行写操作。xlwt和xlrd不光名字像,连很多函数和操作格式也是完全相同。
二、安装
在命令行或者终端中使用pip安装:
pip install Xlrd
pip install xlwt
三、xlrd常用操作
用xlrd进行读取比较方便,流程和手动操作Excel一样,打开工作簿(Workbook),选择工作表(sheets),然后操作单元格(cell)。
1、打开Excel
import xlrd
df = xlrd.open_workbook(name)
导入模块后使用
open_workbook()
函数来读取指定的一个工作簿对象。这里参数name是Excel文件名字,一般使用的是相对路径的名字。
2、查看工作簿中所有sheet
df.sheet_names()
读取文件,便可得到以列表形式嵌字符串的值。
3、选择一个工作表
table=df.sheets()[0]
table=df.sheet_by_index(0)
table=df.sheet_by_name('name')
第一行:获取第一个工作表,写法是根据内置的列表格式来选取的。
第二行:通过索引获取第一个工作表,这里的索引与
pandas
中DataFrame
的index
索引类似,只不过对象换成了工作表。第三行:通过表的名称选择工作表。
4、获取表格的行数、列数
row=table.nrows
col=table.ncols
这里不需要在函数后面加小括号
5、获取整行和整列的值
table.row_values(num1)
table.column_values(num2)
6、通过循环读取表格的所有行
for i in range(table.nrows):
print (table.row_values(i))
7、获取单元格的值
cell1=table.row(0)[0].value
cell1=table.cell(0,0).value
cell1=table.col(0)[0].value
第一行:获取单元格值的方式是通过调取指定行数据进行筛选。
第二行:是以二维的形式获取,即(第i行,第j列)形式。
第三行:与第一行类似是通过列索引调用。
四、xlwt常用操作
1、新建Excel文件
import xlwt
df2 = xlwt.Workbook()
2、新建工作表
table2=df2.add_sheet('name') #name是工作表的名称
3、写入数据到指定单元格
table2.write(0,0,'Python')
#前两个参数对应(第i行,第j列),代表的是单元格的位置。第三个参数是要写的值(可以是字符串、数字)
4、保存文件
df2.save('data2.xls')
PS:xlwt
仅支持.xls
的文件格式输出。
五、综合xlrd、xlwt读写Excel
1、读
import xlrd
# 1、打开工作本workbook
xlsx = xlrd.open_workbook(r'.\t1.xlsx')
# 2、打开需要操作的表sheet
table = xlsx.sheet_by_index(0)
# table = xlsx.sheet_by_name('t1')
# 3、读取指定单元格的数据
print(table.cell_value(1,1))
print(table.cell(1,1).value)
print(table.row(1)[1].value)
2、写
import xlwt
# 1、新建一个工作本
new_workbook = xlwt.Workbook()
# 2、为这个工作本中添加一个工作表
worksheet = new_workbook.add_sheet('new_test')
# 3、向指定单元格写入内容
worksheet.write(0,0,'nt')
# 4、保存
new_workbook.save('./nt.xls')
来源:https://blog.csdn.net/m0_63794226/article/details/126276740


猜你喜欢
- 将一个列表数据写入output.xlsx的a,b,c……等sheet中import pandas as pddf1 = pd.DataFra
- 本文深入分析了Python面向对象程序设计OOP。分享给大家供大家参考,具体如下:下面是一个关于OOP的实例,模块文件为person.py#
- 前言看了网上许多关于Windows 本地安装mysql的很多教程,基本上大同小异。但是安装软件有时就可能因为一个细节安装失败。我也是综合了很
- 最近实习需要对若干ppt进行格式上的调整,主要就是将标题的位置、对齐方式、字体等统一,人工修改又麻烦又容易错。因此结合网上的pptx包资料,
- MySQL根据不同条件联查不同表的数据项目开发中遇到类似的需求。Mybatis 中的< if >标签只能判断where部分,不能
- 在numpy中的ndarry是一个数组,因此index就是位置下标,注意下标是从0开始增加:在插入时使用np.insert(),在末尾添加时
- K-近邻算法概述简单地说, k-近邻算法采用测量不同特征值之间的距离方法进行分类。k-近邻算法优点:精度高、对异常值不敏感、无数据输入假定。
- 近期线上出现一个bug,研发的小伙伴把测试环境的地址写死到代码中,在上线前忘记修改,导致线上发布的代码中使用了测试环境地址。开发过程中虽然有
- Git是一个开源的分布式版本控制软件,用以有效、高速的处理从很小到非常大的项目版本管理。Git 最初是由Linus Torvalds设计开发
- 起步利用 html5 的 <video> 标签可以播放:<video width="320" heig
- 业务场景:前后端分离需要对接数据接口。接口测试是在postman做的,今天才开始和前端对接,由于这是我第一次做后端接口开发(第一次嘛,问题比
- 前言这篇博客将介绍光流的概念以及如何使用 Lucas-Kanade 方法估计光流,并演示如何使用 cv2.calcOpticalFlowPy
- 1-删除模型变量del model_define2-清空CUDA cachetorch.cuda.empty_cache()3-步骤2(异步
- 背景在小站点上,直接用git来部署php代码相当方便,你的远程站点以及本地版本库都有一个版本控制,追踪问题或者回滚是很轻松的事情。因为在小公
- 前言什么是OCR?光学字符识别(Optical Character Recognition, OCR),是指对文本资料的图像文件进行分析识别
- 0. 简介在上篇博客——《Golang调度器(4)—goroutine调度》中一
- 今天尝试了一下据说最好用的编译器Jupyter Lab,安装期间遇到了很多问题,以此为记录。1.安装jupyter labjupyter l
- Windows下的安装:下载地址:https://pypi.python.org/pypi/pyquery/#downloads下载后安装:
- 本文实例为大家分享了python实现五子棋小游戏的具体代码,供大家参考,具体内容如下暑假学了十几天python,然后用pygame模块写了一
- 其实这里的静态页面并不是真正意义上的静态,但可以达到了静态页面的解析效率,还未经项目测试,拿来分享。代码如下:<% Cons