Python提取Excel内容:千个表,十行代码

发表于:2021-4-15 09:40

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:Python可乐    来源:今日头条

  本文介绍
  说实话,这个需求头一次碰到,我相信对于大多数朋友来说,也是头一次碰到。“提取excel文本框中的内容”,对,你没有听错!我也不知道你碰到过没有,但是这确实是一位朋友提出的很好的问题。
  说实话,Python操作excel的库很多,但是我几乎没有找到实现这个需求的api。比如说,我最常使用的openpyxl库,也没有这个功能。
  最后查阅一番,只有xlwings这个库了!注意:这个库是第三方库,大家一定要提前安装,并且一定要使用最新版本!最新版本!最新版本!不然有些方法你无法使用。
  # 打开cmd窗口,安装xlwings库   
  pip install xlwings   
  # 使用xlwings库之前,需要提前导入   
  import xlwings as xw 
  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的路径,用于打开本地的工作簿。
  完整代码
  因为这篇文章,只是简单介绍了xlwings库的相关使用,有些属性和方法类似于openpyxl,这里我就不详细介绍了。Excel文本框中内容如下:
  直接上代码:
  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个表,自己可以下去尝试一下哦!

      本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号