Python提取「Excel文本框」内容,1000个表,10行代码!

“提取excel文本框中的内容”,对,你没有听错!注意:这个库是第三方库,大家一定要提前安装,并且一定要使用最新版本!首先,咱们看到的的xw.App是xlwings库中的一个函数。因为这篇文章,只是简单介绍了…

Python提取「Excel文本框」内容,1000个表,10行代码!

导读:查阅一番,只有xlwings这个库了!

作者:黄伟呢

来源:数据分析统计学之美(ID:huang_superme)

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

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

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

# 打开cmd窗口,安装xlwings库

pip install xlwings

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

importxlwings asxw

01 xlwings库相关知识

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

xw.App(visible= False,add_book= False)

其中:

  • visible:True表示启动excel程序后显示程序窗口。如果为False,表示启动excel程序后,程序窗口在后台运行;
  • add_book:True表示启动excel程序后,新建一个空白工作簿。如果为False,表示启动excel程序后,不新建工作簿。

app.books.open(文件路径)

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

02 完整代码

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

Python提取「Excel文本框」内容,1000个表,10行代码!

直接上代码:

importxlwings asxw

app = xw.App(visible= False,add_book= False)

wb = app.books.open( ‘test1.xlsx’)

forsheet inwb.sheets:

forshape insheet.shapes:

if”TextBox”inshape.name:

print(shape.text) # 一定要xlwings最新版本,老版本没有text方法

wb.close

app.quit

结果如下:

Python提取「Excel文本框」内容,1000个表,10行代码!

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

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

本文采用「CC BY-SA 4.0 CN」协议转载自互联网、仅供学习交流,内容版权归原作者所有,如涉作品、版权和其他问题请给「我们」留言处理。

(1)
CDA数据分析师的头像CDA数据分析师专栏
上一篇 2021-08-20 17:03
下一篇 2022-03-11 01:46

相关文章

关注我们
关注我们
分享本页
返回顶部