Python提取 Excel内容,这个需求头一次见,千个表,十行代码

开发 后端
Python操作excel的库很多,但是我几乎没有找到实现这个需求的api。比如说,我最常使用的openpyxl库,也没有这个功能。最后查阅一番,只有xlwings这个库了!

[[392740]]

本文介绍

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

[[392741]]

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

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

  1. # 打开cmd窗口,安装xlwings库   
  2. pip install xlwings   
  3. # 使用xlwings库之前,需要提前导入   
  4. import xlwings as xw  

 xlwings库相关知识

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

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

其中:

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

app.books.open(文件路径)

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

完整代码

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

直接上代码:

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

 结果如下:

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

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

 

责任编辑:姜华 来源: 今日头条
相关推荐

2021-04-09 11:30:50

PythonExcel代码

2022-03-14 09:57:30

Python代码

2020-11-08 14:44:37

VSCode代码编码

2022-07-07 15:50:19

Python开发功能

2022-07-21 10:08:59

代码K线图

2022-01-25 12:51:58

Python代码证件照

2022-03-23 15:32:38

Python开发代码

2023-12-06 18:09:01

2022-11-07 07:04:25

2016-03-29 10:08:07

2020-01-03 10:16:30

华为开发者开源

2022-05-02 18:29:35

bashshellLinux

2018-07-13 16:26:46

编程语言Python微信

2020-10-24 13:50:59

Python编程语言

2021-12-27 10:08:16

Python编程语言

2023-06-06 14:00:39

代码模型

2021-12-17 12:12:22

Python 开发数据

2021-06-01 13:55:17

Python人工语音对话Python基础

2020-12-03 11:31:05

AI飞桨框架百度

2022-09-03 18:29:49

开发技术
点赞
收藏

51CTO技术栈公众号