需要安装pywin32模块

pip install pywin32

主程序:

import win32com.client as win32
import os.path
import glob class Format():
"""用于文件转换的类"""
def __init__(self):
self.excel = win32.gencache.EnsureDispatch('Excel.Application')
def xlsx2xls(self, xlsx_path, xls_path):
"""
07版本excel转成03版本,多文件转换
:param xlsx_path: 07路径
:param xls_path: 03路径
:return:
"""
path_list = glob.glob(xlsx_path + '\\*.xlsx') # 获取文件夹下所有xlsx for file in path_list:
filename = os.path.basename(file).replace('.xlsx', '.xls') # 获取文件名
wb = self.excel.Workbooks.Open(file)
wb.SaveAs(xls_path + '\\' + filename, FileFormat=56) # xls为56
wb.Close() self.excel.Application.Quit()
print('xlsx2xls转换完成') def xlsx2xls_single(self, xlsx_path, xls_path):
"""
excel 单个文件转换
:param xlsx_path: 07版本
:param xls_path: 03版本
:return:03版本文件路径
"""
try:
filename = os.path.basename(xlsx_path).replace('.xlsx', '.xls') # 获取文件名
wb = self.excel.Workbooks.Open(xlsx_path)
xls_path = os.path.dirname(xlsx_path)
xls_path = xls_path.replace('/', '\\')
save_path = xls_path+'\\'+filename
wb.SaveAs(save_path, FileFormat=56) # xls为56
wb.Close()
self.excel.Application.Quit()
print('xlsx2xls转换完成')
except Exception as e:
wb.Close()
self.excel.Application.Quit()
print(e) return save_path if __name__ == '__main__':
test = Format()
test.xlsx2xls_single(xlsx_path=r'E:\TestFile\AutoReport_Test\CD\新生成的报告\2020-11-21\311671.xlsx', xls_path=r"E:\TestFile\AutoReport_Test\CD\新生成的报告\2020-11-21")

ps: 该模块使用的路径格式分隔符为“\\”

python excel 07版本转换为03版本的更多相关文章

  1. C#导入Excel、Excel导入、导入.xls 、导入.xlsx、Excel2003版本、Excel2007版本

    C#导入Excel: 1.选择Excel 03版文件 2.选择需要读取数据的Excel工作表   3.选择工作表中需要读取的列 源码地址在图片下面,不要点击图片,点击下载地址跳转下载.

  2. 用python + openpyxl处理excel(07+)文档 + 一些中文处理的技巧

    sklearn实战-乳腺癌细胞数据挖掘(博主亲自录制视频教程) https://study.163.com/course/introduction.htm?courseId=1005269003&am ...

  3. PyQt5UI文件转换为对应版本的py文件

    PyQt5 UI文件转换为对应版本的py文件 #coding=utf-8 ''' PyQt5 UI文件转换为对应版本的py文件 python -m PyQt5.uic.pyuic untitled.u ...

  4. Python包管理工具和多版本环境管理

    1. Python包管理工具 在安装Python包的过程中,经常涉及到distutils.setuptools.distribute.setup.py.easy_install.easy_instal ...

  5. 【Python】2.x与3​​.x版本的选用&版本间的区别

    转自 http://www.runoob.com/python/python-2x-3x.html 一.2.x与3​​.x版本的选用建议 Python的3​​.0版本,常被称为Python 3000, ...

  6. python - selenium 2 升级到最新版本

    python - selenium 2 升级到最新版本 之前一直用的是selenium 2.48 .firefox36 而实际用户的浏览器可能都有自动更新功能,所以版本基本上是最新的.所以这次专门做了 ...

  7. Ubuntu16.04 下 python 3.6 安装以及各版本python切换(同时解决各种依赖缺失)

    有些博客给出了从源代码通过./configure.make.sudo make 会导致安装玩之后出现各种依赖缺失的问题,如_sqlite3._bz2 等问题. 当然也有很多帖子给出了从系统自带的pyt ...

  8. python安装方法- 3.6.3版本

    一. 官网下载安装包: 官网网址:https://www.python.org/ 我下载的是3.6.3版本,如下图:  二. 安装安装包, 1. 直接双击运行  2. 选择Customize inst ...

  9. Python在windows平台的多版本配置

    Python在windows平台的多版本配置 快速阅读: ​ python在windows平台的环境变量以及多版本配置 ,以及pycharm如何安装包,以及安装包出错时如何排查. 1.python环境 ...

  10. Selenium2+python自动化2.7-火狐44版本环境搭建(转)

    转载地址:https://www.cnblogs.com/yoyoketang/p/selenium.html 前言 目前selenium版本已经升级到3.0了,网上的大部分教程是基于2.0写的,所以 ...

随机推荐

  1. Jmeter-测试报告模板分享

    1.jmeter-results-detail-report_21 <?xml version="1.0"?> <!-- ~ Licensed to the Ap ...

  2. Pillow模块——生成随机验证码

    urls.py path('get_code/',views.get_code), views.py中 from PIL import Image,ImageFont,ImageDraw " ...

  3. HTB靶场之-inject

    准备: 攻击机:虚拟机kali. 靶机:Inject,htb网站:https://www.hackthebox.com/,靶机地址:https://app.hackthebox.com/machine ...

  4. Django4全栈进阶之路3 apps.py 文件

    在 Django 4 中,每个应用(app)都需要定义一个 apps.py 文件,用于配置应用的基本信息,如应用的名称.显示名称.图标.默认路径.启动时需要执行的操作等.apps.py 文件是一个 P ...

  5. 图数据库 NebulaGraph 的内存管理实践之 Memory Tracker

    数据库的内存管理是数据库内核设计中的重要模块,内存的可度量.可管控是数据库稳定性的重要保障.同样的,内存管理对图数据库 NebulaGraph 也至关重要. 图数据库的多度关联查询特性,往往使图数据库 ...

  6. TestForPicGo

    如果显示,则为成功 否则,失败 同时为CN-BLOG的vscode插件进行测试

  7. spring之AOP的概念及简单案例

    AOP概念 AOP(Aspect Oriented Programming),即面向切面编程,可以说是OOP(Object Oriented Programming,面向对象编程)的补充和完善.OOP ...

  8. python 环境下使用PIP 报错的解决方法

    最近做一个小程序项目,使用djangorestframework,安装restframework 出现错误,安装环境Python2.7:出现错误如下:  "UnicodeEncodeErro ...

  9. JDK动态代理和CGLIB代理有什么区别

    JDK动态代理和CGLIB代理都是实现Spring框架中AOP的代理方式,它们的实现原理和应用场景有所不同, 具体区别如下: 1. 实现原理: JDK动态代理是基于Java反射机制实现的,它要求目标类 ...

  10. OSI7层模型和TCP/IP模型

    前言 在计算机网络领域中,OSI7层模型和TCP/IP模型是两个重要的概念.本文将对这两个模型进行介绍和比较,让大家了解它们的区别和联系. 目录 前言 OSI7层模型 TCP/IP模型 OSI7层模型 ...