前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python提取 “Excel文本框” 内容,这个需求头一次见,1000个表,10行代码!

Python提取 “Excel文本框” 内容,这个需求头一次见,1000个表,10行代码!

作者头像
快学Python
发布2021-08-09 11:24:18
5130
发布2021-08-09 11:24:18
举报
文章被收录于专栏:快学Python

作者:黄伟呢

来源:快学Python

本文简介

说实话,这个需求头一次碰到,黄同学相信对于大多数朋友来说,也是头一次碰到。“提取excel文本框中的内容”,对,你没有听错!我也不知道你碰到过没有,但是这确实是一位朋友提出的很好的问题。

说实话,Python操作excel的库很多,但是我几乎没有找到实现这个需求的api。比如说,我最常使用的openpyxl库,也没有这个功能。

最后查阅一番,只有xlwings这个库了!注意:这个库是第三方库,大家一定要提前安装,并且一定要使用最新版本!最新版本!最新版本!不然有些方法你无法使用。

代码语言:javascript
复制
# 打开cmd窗口,安装xlwings库
pip install xlwings

# 使用xlwings库之前,需要提前导入
import xlwings as xw

xlwings库相关知识

首先,咱们看到的的xw.App()是xlwings库中的一个函数。

代码语言:javascript
复制
xw.App(visible=False,add_book=False)

其中:

  • visible:True表示启动excel程序后显示程序窗口。如果为False,表示启动excel程序后,程序窗口在后台运行;
  • add_book:True表示启动excel程序后,新建一个空白工作簿。如果为False,表示启动excel程序后,不新建工作簿;
代码语言:javascript
复制
app.books.open(文件路径)

上述函数用于帮助我们打开工作簿,里面有一个参数,传入本地excel的路径,用于打开本地的工作簿。

完整代码

因为这篇文章,只是简单介绍了xlwings库的相关使用,有些属性和方法类似于openpyxl,这里我就不详细介绍了。Excel文本框中内容如下:

直接上代码:

代码语言:javascript
复制
import xlwings as xw

app = xw.App(visible=False,add_book=False)
wb = app.books.open('test1.xlsx')
for sheet in wb.sheets:
    for shape in sheet.shapes:
        if "TextBox" in shape.name:
            print(shape.text) # 一定要xlwings最新版本,老版本没有text方法
            
wb.close()
app.quit()

结果如下:

当然,这是针对某一个表,掌握了方法,给你多个表,不就是循环读取就行吗?

1000个表,自己可以下去尝试一下哦!

人生苦短,快学Python

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-03-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 快学Python 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 本文简介
  • xlwings库相关知识
  • 完整代码
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档