脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - Python - Python使用xlrd和xlwt实现自动化操作Excel

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

2022-08-13 08:53醉蕤 Python

这篇文章主要介绍了Python使用xlrd和xlwt实现自动化操作Excel,xlwt只能对Excel进行写操作。xlwt和xlrd不光名字像,连很多函数和操作格式也是完全相

一、前言介绍

xlrd:可以对xlsx、xls、xlsm文件进行读操作且效率高。

xlwt:主要对xls文件进行写操作且效率高,但是不能执行xlsx文件。

xlrd是用来从Excel中读写数据的,但通常只用它进行读操作,写操作会相对于专门写入的模块麻烦一些。

xlwt只能对Excel进行写操作。xlwt和xlrd不光名字像,连很多函数和操作格式也是完全相同。

二、安装

在命令行或者终端中使用pip安装:

?
1
2
pip install Xlrd
pip install xlwt

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

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

三、xlrd常用操作

  用xlrd进行读取比较方便,流程和手动操作Excel一样,打开工作簿(Workbook),选择工作表(sheets),然后操作单元格(cell)

1、打开Excel

?
1
2
import xlrd
df = xlrd.open_workbook(name)

    导入模块后使用open_workbook()函数来读取指定的一个工作簿对象。这里参数name是Excel文件名字,一般使用的是相对路径的名字。

2、查看工作簿中所有sheet 

?
1
df.sheet_names()

读取文件,便可得到以列表形式嵌字符串的值。 

3、选择一个工作表

?
1
2
3
table=df.sheets()[0
table=df.sheet_by_index(0)
table=df.sheet_by_name('name')

第一行:获取第一个工作表,写法是根据内置的列表格式来选取的。

第二行:通过索引获取第一个工作表,这里的索引与pandasDataFrameindex索引类似,只不过对象换成了工作表。

第三行:通过表的名称选择工作表。

4、获取表格的行数、列数

?
1
2
row=table.nrows
col=table.ncols

这里不需要在函数后面加小括号

5、获取整行和整列的值

?
1
2
table.row_values(num1)
table.column_values(num2)

6、通过循环读取表格的所有行

?
1
2
for i in range(table.nrows):
 print (table.row_values(i))

7、获取单元格的值

?
1
2
3
cell1=table.row(0)[0].value
cell1=table.cell(0,0).value
cell1=table.col(0)[0].value
  • 第一行:获取单元格值的方式是通过调取指定行数据进行筛选。
  • 第二行:是以二维的形式获取,即(第i行,第j列)形式。
  • 第三行:与第一行类似是通过列索引调用。

四、xlwt常用操作

1、新建Excel文件

?
1
2
import xlwt
df2 = xlwt.Workbook()

2、新建工作表

?
1
table2=df2.add_sheet('name')       #name是工作表的名称

3、写入数据到指定单元格

?
1
2
table2.write(0,0,'Python')
#前两个参数对应(第i行,第j列),代表的是单元格的位置。第三个参数是要写的值(可以是字符串、数字)

4、保存文件

?
1
df2.save('data2.xls')

PS:xlwt仅支持.xls的文件格式输出。

五、综合xlrd、xlwt读写Excel

​1、读

?
1
2
3
4
5
6
7
8
9
10
11
12
13
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、写

?
1
2
3
4
5
6
7
8
9
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')

到此这篇关于Python使用xlrd和xlwt实现自动化操作Excel的文章就介绍到这了,更多相关Python操作Excel内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/m0_63794226/article/details/126276740

延伸 · 阅读

精彩推荐
  • Python一篇文章带你详细了解python中一些好用的库

    一篇文章带你详细了解python中一些好用的库

    这篇文章主要推荐了一些好用的Python库,都有这不错的群众基础,非常好用,也都很实用,推荐给大家,希望能够给你带来帮助...

    CXYhh12112312022-01-10
  • Python如何用Python一次性下载抖音上音乐

    如何用Python一次性下载抖音上音乐

    不知道什么时候开始,中国出现了南抖音、北快手的互文格局。喜欢抖音主要是两个初衷,学做菜听音乐。抖音捧红了很多人,也让很多本不怎么让大家熟...

    华为云开发者社区5392021-11-03
  • PythonPython利用splinter实现浏览器自动化操作方法

    Python利用splinter实现浏览器自动化操作方法

    今天小编就为大家分享一篇Python利用splinter实现浏览器自动化操作方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    ymjystu5362021-02-20
  • Pythonpython操作日志的封装方法(两种方法)

    python操作日志的封装方法(两种方法)

    这篇文章主要介绍了python操作日志的封装方法,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值 ,需要的朋友可以参考下...

    linux超7192021-06-29
  • PythonMatplotlib 生成不同大小的subplots实例

    Matplotlib 生成不同大小的subplots实例

    今天小编就为大家分享一篇Matplotlib 生成不同大小的subplots实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    隔壁的老王13442021-02-24
  • PythonPython基础教程之控制结构详解

    Python基础教程之控制结构详解

    Python中有三大控制结构,分别是顺序结构、分支结构(选择结构)以及循环结构,任何一个项目或者算法都可以使用这三种结构来设计完成,这篇文章主要给大家...

    盼小辉丶7172022-03-07
  • Pythonpython实现自动网页截图并裁剪图片

    python实现自动网页截图并裁剪图片

    这篇文章主要为大家详细介绍了python实现自动网页截图并裁剪图片,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    Erick-LONG14642021-03-24
  • Pythonpython将ip地址转换成整数的方法

    python将ip地址转换成整数的方法

    这篇文章主要介绍了python将ip地址转换成整数的方法,涉及Python针对IP地址的转换技巧,需要的朋友可以参考下 ...

    八大山人4722020-05-22