一、背景

有2种模块可以对Execl文件,一种是xlwt 方式,需要安装三个库文件 xlrd(读Excel)xlwt(写Excel)xlutils(修改Excel),也是网上介绍文章最多的一种方法,一种是xlwings方式,只要安装一个库文件。第一种方式将读写修改分模块,支持Excel表格样式设计,第二种方式不支持表格样式设计,支持对Excel进行读写操作。由于老猿目前只要用Execl进行读操作,同时觉得装一个库文件简单,因此选择的是xlwings方式。

二、软件安装

才开始使用pip install xlwings安装,结果超时了,果断改成了使用国内的镜像来安装,很快完成,命令为:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple xlwings

三、库文件相关文档

xlwings库官方地址:https://docs.xlwings.org/en/stable/

四、xlwings库主要操作方法

1、设置Excel操作模式

1)语法:App(visible=False, add_book=False)

2)语法释义:表示处理过程是否可视,也就是处理Excel的过程会不会显示出来,即是否出现Excel的界面,add_book表示是否打开新的Excel程序,也就是是不是打开一个新的excel窗口,如果为True,且visible为True,则立即打开一个空白的Excel。。

2、打开文件

1)方法1:app.books.open(文件名),其中的app为设置Excel操作模式中App方法返回的结果

2)方法2:Book(文件名)

这两种方法打开文件返回的结果类型是相同的,类型为xlwings.main.Book,二者的差别经验证测试,发现如果是在对应文件已经打开的情况下,使用app.books.open再去打开可以重复打开,但Book不会重复打开。且如果是一个程序内多次调用app.books.open打开同一个文件也不会重复打开。

测试代码:

>>> import xlwings as Excel

>>> from time import sleep

>>> def openexcel(visible=False, add_book=False)

app = Excel.App(visible, add_book)

print("app created!")

f1=app.books.open(r"c:\temp\csdn积分数据.xls")

print("f1 opened!")

sleep(2)

f2=app.books.open(r"c:\temp\csdn积分数据.xls")

print("f2 opened!")

sleep(2)

f3 = Excel.Book(r"c:\temp\csdn积分数据 - 副本.xls")

print("f3 opened!")

sleep(2)

f4 = Excel.Book(r"c:\temp\csdn积分数据 - 副本.xls")

print("f4 opened!")

>>> openexcel(True,True)

app created!

f1 opened!

f2 opened!

f3 opened!

f4 opened!

>>> openexcel(True,True)

app created!

f1 opened!

f2 opened!

f3 opened!

f4 opened!

3.文件打开后的访问

假设文件打开后的返回结果为f,则打开文件后:

1)访问Excel的sheet

sheet = f.sheets[index]

或者

sheet = f.sheets[‘sheet名’]

注意:index是sheet页的序号,从0开始。

2)访问sheet的记录数

sheet.used_range.last_cell.row

3)访问sheet的列数

sheet.used_range.last_cell.column

4)获取i行j列的数据

value = sheet.range(i,j).value

5)获取i行j列开始到j+10列的数据

value = sheet.range((i,j),(i,j+10)).value

6)读取第i行整行

value = sheet.range(‘Ai’).expand(‘right’).value

value = sheet.range(i,1).expand(‘right’).value

6)读取第k列整列

value = sheet.range(‘k1’).expand(‘down’).value

alue = sheet.range(1,k).expand(‘down’).value

7)读取整个sheet的数据

data = sheet.range(‘A1’).expand().value

4、sheet内容写入:

直接对sheet数据赋值,将读取语句的方式改成赋值就可以了,如果写入位置原来有数据,将被写入数据覆盖。

1)i行j列写入

sheet.range(i,j).value = value

2)写入i行j列开始到j+10列的数据

sheet.range((i,j),(i,j+10)).value = values

其中values为一个有11个元素的列表。

3)第i行写入整行

sheet.range(i,1).expand(‘right’).value = values

4)第k列写入整列

sheet.range(1,k).options(transpose=True).value = values

5、文件保存

f.save(文件名)

如果没有文件名参数保存到打开的Excel文件中,如果给定文件名参数则保存到该指定文件名对应文件,该文件可以是已经打开的文件也可以是另一文件。

6、文件访问后关闭

f.close()

7、终结应用

app.quit()

五、Excel文件读取案例

>>> def readExcel(filename,sheetname):

excelApp = excel.App(False,False)

excelFile = excelApp.books.open(filename)

sheet = excelFile.sheets[sheetname]

rowCount = sheet.used_range.last_cell.row

colCount = sheet.used_range.last_cell.column

for line in range(1,rowCount+1):yield sheet.range(line,1).expand('right').value

excelFile.close()

excelApp.quit()

excelApp.kill() #有时quit退出不成功可以使用kill

>>> for line in readExcel(r"c:\temp\csdn积分数据.xls",0):print(line)

python xlwings下载_Python学习随笔:使用xlwings读取和操作Execl文件相关推荐

  1. python处理wps数据用xlwings_Python学习随笔:使用xlwings读取和操作Execl文件

    一.背景 有2种模块可以对Execl文件,一种是xlwt 方式,需要安装三个库文件 xlrd(读Excel)xlwt(写Excel)xlutils(修改Excel),也是网上介绍文章最多的一种方法,一 ...

  2. python xlwings追加数据_Python学习随笔:使用xlwings设置和操作excel多行多列数据以及设置数据字体颜色填充色对齐方式的方法...

    一.关于整行整列数据读写的问题 在<Python学习随笔:使用xlwings读取和操作Excel文件>介绍了一次读写整行和整列的方法,整行数据写入时可以简单将读取的赋值语句交换一下等号左右 ...

  3. Python学习随笔:使用xlwings读取和操作Excel文件

    一.背景 有2种模块可以对Execl文件,一种是xlwt 方式,需要安装三个库文件 xlrd(读Excel)xlwt(写Excel)xlutils(修改Excel),也是网上介绍文章最多的一种方法,一 ...

  4. 电脑python如何下载_Python for Windows 32位 v3.7.2下载|Python 3.7.2免费电脑版

    软件介绍:对于脚本语言比较号的版本很多人不得不提Python 3.7.2,首先是免费的版本就很吸引人了,因为很多人早有耳目,对于功能更加不会让你们失望,因为脚本收纳的丰富类目词库就可以支撑很多个日常操 ...

  5. python线性结构图_Python学习线路图 -蓝鸥

    Python学习路线图 Python基础 适用/适合人群:适合小白,零基础 目标:掌握HTML CSS div+css,javascript,h5等前端基本技术 ●01开班典礼: 1.Pycharm安 ...

  6. 为啥我学的python需要下载pycharm_python学习一定用pycharm吗?

    如果你是计算机专业,想要对python深入学习的,一定要追求一个完美的,体现出自己"性能"的学生,你可以不用往下看了. 但假如你只是想学一学python,偶尔处理一下数据,甚至想实 ...

  7. 有哪些免费自学python的网站_Python学习网站有哪些?Python基础教程网站推荐

    Python学习网站有哪些?Python基础教程网站推荐:菜鸟教程.PHP中文网.PHP中文网.W3C.Reddit.博学谷.python中文学习大本营.Python 3 Module of the ...

  8. 自学python困难吗_Python学习难不难?零基础好学吗?

    Python学习难不难?零基础好学吗?我想对于很多人来说,这都是非常关键的问题,也是很多人都在疑惑的问题.现在市场发展,行业的竞争压力是非常大的,转型的人也是非常多,对于不少人转型人才来说,Pytho ...

  9. python龟图_python学习turtle(龟图标状态)

    2019独角兽企业重金招聘Python工程师标准>>> 记录学习 turtle.hideturtle() turtle.ht(),隐藏龟图标. turtle.showturtle() ...

最新文章

  1. 使用w查看系统负载、vmstat命令、top命令、sar命令、nload命令
  2. corosync+pacemaker+nfs提供mysql高可用
  3. CSDN:借助工具对【本博客访问来源】进行数据图表可视化(网友主要来自美国、新加坡、日本、英德加澳等)——记录数据来源截止日期20200718晚上22点
  4. 微软向Linux表白: 向Linux社区开放60000多项专利
  5. 百度地图no result available_【整理之路二】百度地图的路径规划和调用本机地图导航...
  6. yum 安装的时候出现错误
  7. MVVM架构之自动增删改的极简RecycleView的实现
  8. 专业运维配的vsftpd.conf
  9. 如何看Spring源码
  10. java将时间戳转换成字符串_java 时间戳与日期字符串相互转换详解
  11. java中Joiner的使用笔记
  12. windows透明加密 minifilter
  13. Java爬去教务系统后怎么发布_java实现-强智教务系统API文档-课程信息
  14. 国产软件很流氓?不,这些国产软件良心且实用,别让它们寒心
  15. kali2.0 安装 网易云音乐(无法打开解决方法)和为知笔记
  16. mysql 查看版本的几种方法
  17. leetcode (Longest Harmonious Subsequence)
  18. Filament旋转3D文件
  19. java实况足球2014,有趣的足球题材游戏有哪些
  20. 当你觉得自己又丑又穷,一无是处时,别绝望,因为至少你的判断还是对的。

热门文章

  1. R语言write.xlsx函数将数据写入Excel文件:写入Excel文件并自定义表单的名称、将数据写入Excel文件新的表单(sheet)中、将文件保存为xls文件格式(而不是xlsx)
  2. pandas计算特征与所有数值特征的相关性并排序可视化:包含pearson、spearman、kendall
  3. R语言四格表的统计分析及假设检验
  4. python代码实现二叉树的分层打印
  5. GPU信息查看以及确认Pytorch使用了GPU计算模块进行深度学习的训练
  6. R语言数据结构之数据框
  7. 使用rar备份mysql_用RAR备份源代码_用WSH备份数据库
  8. java c 序列化_Java 序列化
  9. tf.keras.layers.Flatten() 示例
  10. 三十五、虚拟内存的基本概念