1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > python xlsm_Excel中的xls xlsx xlsm混合文件 看我如何用Python统一处理!

python xlsm_Excel中的xls xlsx xlsm混合文件 看我如何用Python统一处理!

时间:2022-02-01 08:32:52

相关推荐

python xlsm_Excel中的xls xlsx xlsm混合文件 看我如何用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扩展文件;

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

importos

importtime

importwin32com

fromwin32com.clientimportDispatch

defxls_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()#退出

returnnewpath

allpath=os.getcwd()

print(allpath)

xls_xlsx(allpath+'\\转换前的文档.xls')

最终结果:

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

python全套资料获取方式如下:

喜欢up主的三连哦~

评论+私信“资料”即可!阿婆主静待~

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。