python使用xlwings处理excel遇到的问题 您所在的位置:网站首页 excel函数用法遇到的问题怎么解决 python使用xlwings处理excel遇到的问题

python使用xlwings处理excel遇到的问题

2023-10-23 13:51| 来源: 网络整理| 查看: 265

前段时间在学python可视化,因为要操作excel,所以就了解了几个常用的python处理excel数据的库,开始我用的是 xlrd/xlwt,但是后来发现这个库好像功能不是很强大,然后又改用 xlwings,这个库功能比较完备,据说性能也更好一点。

首先如何导入一个excel import xlwings as xw app = xw.App(visible=False, add_book=False) book = app.books.add() # 新建一个book #book = app.books.open('d:\test.xlsx') # 打开一个存在的 book print(book.fullname) # 测试 1,打印文件绝对路径 print(book.app) # 测试 2,查看进程 sheet = book.sheets[0] # 或者 sheet = book.sheets['sheet1'] sheet.range('A1').value = 'Hello' sheet.range(2,1).value = 'World!' book.save(r'd:\test.xlsx') app.kill() 首先说一下我对 app、book、sheet 这三个的理解

app 这个我理解的就是一个 进程,你可以试一下,把最后一行代码 app.kill() 注释掉,然后 Run,这个时候你再去看任务管理器,会有一个 Excel 的进程一直在那里 任务管理器下的 再和 pycharm 里面 print 的对比一下: pycharm 可以发现两个进程号是一样的,所以这个app就是你创建的一个用来处理 Excel 的进程。

book 这个我理解的就是一个 Excel 表

sheet Excel 里面一个个的 sheet,一般第一个sheet 默认名字都是 sheet1,打开的时候根据名字和序号都可以

来看上面这段代码

首先是 app = xw.App(visible=False, add_book=False) 这行代码就是打开一个操作Excel的进程,第一个参数 visible 作用是控制这个进程是否显示在前台,如果设置为 False 的话,那么这个进程将只会在后台运行,你可以打开任务管理器查看到这个 Excel 进程;True 的话你在 run 这个 .py 的时候可以看到下方任务栏有一个 Excel 一闪而过

创建一张表格 book = app.books.add()

或者引入 book = app.books.open('d:\test.xlsx')

然后 sheet.range()获取一个个的 cell,获取的方式有很多种,当然也可以一次获取很多个 cell,网上这方面标称比较多,我就不写了,我主要写网上很难查到的东西。

最后就是保存和退出,这一部分我在网上看到的很多是这样子写:

book.save() book.close() app.quit()

但是我这样子试了好像有问题的。运行后要等很久才会停止,而且后台 Excel 进程也会一直运行,如果你操作了很多次,那么后台就会有一大堆 Excel 进程。

所以我直接 save 然后 kill 掉。你有更好的做法或者理解的话欢迎留言_



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有