Excel中的xls、xlsx、xlsm混合文件,看我用Python如何统一处理......

Python绿色通道

共 1936字,需浏览 4分钟

 ·

2021-02-10 15:22

↑ 关注 + 星标 ,每天学Python新技能

后台回复【大礼包】送你Python自学大礼包

引言

Python语言,近几年在办公自动化这一领域来说,真的超级火爆!用它做批量处理确实比VBA要方便很多。

前面的文章,我们已经讲述了如何将doc文件转换为docx文件,还没有观看的朋友直接戳此链接:

python-docx无法处理 “doc格式” 文件,于是我这样做......

今天黄同学再带大家探讨Python处理Excel文件时,遇到的一些问题。在Python中,有几个常用的库专门用来处理Excel文件,分别是xlrd、xlwt和openpyxl,简单介绍一下:

  • xlrd只能读取数据,可以处理xls和xlsx;
  • xlwt只能写数据,只能处理xls;
  • openpyxl可以读数据和写数据,但只能处理xlsx;

如果待处理的文件,既有xls,又有xlsx时,我觉得还是将它们一并转换为统一格式,再进行二次修改,显得更为方便。

同时,这里还有一种Excel文件,就是xlsm格式,该表格文件却很少被其他库支持。这种情况下,如果我们电脑有安装微软的Excel软件(非wps),就可以通过调用本地excel软件对表格文件进行格式转换,然后我们再进行其它操作。

正文

再给代码之前,我仍然给大家讲述一些知识点,方便大家一读就会。

  • 上一篇文章,由于处理的是Word文档,因此这里调用的是Word程序,那处理Excel文档,这里就需要调用Excel程序了;
  • 在Python中,文档用Documents表示,工作簿用Workbooks表示,因此处理不同的文件,我们需要调用不同的属性,打开对应的文件;
# 调用word程序
WordApp = win32com.client.Dispatch("Word.Application")
# 调用excel程序
WordApp = win32com.client.Dispatch("Excel.Application")

# 打开word文档
w.Documents.Open(path)
# 打开Excel工作簿
w.Workbooks.Open(path)

# 后台运行,不显示,不警告
WordApp.Visible = 0
WordApp.DisplayAlerts = 0

Excel文件的格式是最多的,这里我再给大家做一个总结,给你加深一下印象。

这里需要强调一下:后面的代码里,我们在使用SaveAs保存时,会用到一个FileFormat属性,其中:

  • FileFormat=51,表示xlsx扩展文件;
  • FileFormat=56,表示xls扩展文件;
  • FileFormat=52,表示xlsm扩展文件;
  • FileFormat=23,表示csv扩展文件;

好了,前期准备知识讲述完毕,这里直接给大家上代码。

import os
import time
import win32com
from win32com.client import Dispatch

def xls_xlsx(path):
   w = win32com.client.Dispatch('Excel.Application')
   w.Visible = 0
   w.DisplayAlerts = 0
   wb = w.Workbooks.Open(path)
   # 这里必须要绝对地址,保持和xls路径一致
   newpath = allpath+'\\转换后的文档.xlsx'

   wb.SaveAs(newpath,FileFormat = 51)
   # doc.Close() 开启则会删掉原来的dxls
   w.Quit()# 退出
   return newpath
allpath = os.getcwd()
print(allpath)
xls_xlsx(allpath+'\\转换前的文档.xls')

最终结果:

本文讲述完毕,代码附有注释,相信大家可以看明白,一篇文章总要留给大家一点思考空间,这里就不再过多赘述。

------------------- End -------------------


见面礼


码加我微信备注「三剑客」送你上图三本Python入门电子书 



推荐阅读


  1. 39岁单身程序员入住养老院!养老院:院内平均年龄瞬间年轻了

  2. 再见 Win10!下一代操作系统要来了!

  3. 好气!进大厂被学历卡住了...

  4. 熬夜一周整理我的数据分析学习资源


点分享
点收藏
点点赞
点在看








浏览 47
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报