python excel 07版本转换为03版本
需要安装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版本的更多相关文章
- C#导入Excel、Excel导入、导入.xls 、导入.xlsx、Excel2003版本、Excel2007版本
C#导入Excel: 1.选择Excel 03版文件 2.选择需要读取数据的Excel工作表 3.选择工作表中需要读取的列 源码地址在图片下面,不要点击图片,点击下载地址跳转下载.
- 用python + openpyxl处理excel(07+)文档 + 一些中文处理的技巧
sklearn实战-乳腺癌细胞数据挖掘(博主亲自录制视频教程) https://study.163.com/course/introduction.htm?courseId=1005269003&am ...
- PyQt5UI文件转换为对应版本的py文件
PyQt5 UI文件转换为对应版本的py文件 #coding=utf-8 ''' PyQt5 UI文件转换为对应版本的py文件 python -m PyQt5.uic.pyuic untitled.u ...
- Python包管理工具和多版本环境管理
1. Python包管理工具 在安装Python包的过程中,经常涉及到distutils.setuptools.distribute.setup.py.easy_install.easy_instal ...
- 【Python】2.x与3.x版本的选用&版本间的区别
转自 http://www.runoob.com/python/python-2x-3x.html 一.2.x与3.x版本的选用建议 Python的3.0版本,常被称为Python 3000, ...
- python - selenium 2 升级到最新版本
python - selenium 2 升级到最新版本 之前一直用的是selenium 2.48 .firefox36 而实际用户的浏览器可能都有自动更新功能,所以版本基本上是最新的.所以这次专门做了 ...
- Ubuntu16.04 下 python 3.6 安装以及各版本python切换(同时解决各种依赖缺失)
有些博客给出了从源代码通过./configure.make.sudo make 会导致安装玩之后出现各种依赖缺失的问题,如_sqlite3._bz2 等问题. 当然也有很多帖子给出了从系统自带的pyt ...
- python安装方法- 3.6.3版本
一. 官网下载安装包: 官网网址:https://www.python.org/ 我下载的是3.6.3版本,如下图: 二. 安装安装包, 1. 直接双击运行 2. 选择Customize inst ...
- Python在windows平台的多版本配置
Python在windows平台的多版本配置 快速阅读: python在windows平台的环境变量以及多版本配置 ,以及pycharm如何安装包,以及安装包出错时如何排查. 1.python环境 ...
- Selenium2+python自动化2.7-火狐44版本环境搭建(转)
转载地址:https://www.cnblogs.com/yoyoketang/p/selenium.html 前言 目前selenium版本已经升级到3.0了,网上的大部分教程是基于2.0写的,所以 ...
随机推荐
- 【必知必会的MySQL知识】②使用MySQL
目录 前言 启动MySQL服务 连接MySQL MySQL数据库基本命令 小结 前言 根据上一篇文章[必知必会的MySQL知识]①初探MySQL的内容,想必您对MySQL数据库有了一个整体的了解了,并 ...
- 关于OA系统的取数依据,以及如何逆向查询数据错误的思路。
1.正文 00.起因 源于财务在群里发的问题.我估计对于很多同事,又会像往常一样充满疑问,尤其是对于oa的取数会有疑问,然后业务能力极差的那部分,又会想到这是运营的问题(话说关运营什么事?),这是项目 ...
- vue中让嵌入的iframe完美自适应宽度、高度
涉及到系统集成的时候,前端我们经常会用到iframe嵌入,但是嵌入的时候经常有不适应的情况,太长或太宽.滚动条... 下面的方法可以做到使嵌入的iframe自适应宽度.高度, 1.嵌入iframe,加 ...
- 2022-04-23:给定你一个整数数组 nums 我们要将 nums 数组中的每个元素移动到 A 集合 或者 B 集合中 使得 A 集合和 B 集合不为空,并且 average(A) == aver
2022-04-23:给定你一个整数数组 nums 我们要将 nums 数组中的每个元素移动到 A 集合 或者 B 集合中 使得 A 集合和 B 集合不为空,并且 average(A) == aver ...
- pgadmin数据输出不存在了?
菜单栏→文件→重置布局.这样数据输出就显示了.
- 2020-10-18:java中LongAdder和AtomicLong有什么区别?
福哥答案2020-10-18:#福大大架构师每日一题# 简单回答:AtomicLong是CAS操作.LongAdder是多个单元操作. 中级回答:AtomicLong 是基于 CAS 方式自旋更新的: ...
- 2021-12-23:每日温度。 请根据每日 气温 列表 temperatures ,请计算在每一天需要等几天才会有更高的温度。如果气温在这之后都不会升高,请在该位置用 0 来代替。 示例 1: 输
2021-12-23:每日温度. 请根据每日 气温 列表 temperatures ,请计算在每一天需要等几天才会有更高的温度.如果气温在这之后都不会升高,请在该位置用 0 来代替. 示例 1: 输入 ...
- LeetCode 周赛 345(2023/05/14)体验一题多解的算法之美
本文已收录到 AndroidFamily,技术和职场问题,请关注公众号 [彭旭锐] 提问. 往期回顾:LeetCode 双周赛第 104 场 · 流水的动态规划,铁打的结构化思考 周赛概览 T1. 找 ...
- Midjourney|文心一格prompt教程[基础篇]:注册使用教程、风格设置、参数介绍、隐私模式等
Midjourney|文心一格prompt教程[基础篇]:注册使用教程.风格设置.参数介绍.隐私模式等 开头讲一下为什么选择Midjourney和文心一格,首先Midjourney功能效果好不多阐述: ...
- AcWing 3729. 改变数组元素
给定一个空数组 V 和一个整数数组 a1,a2,-,an. 现在要对数组 V进行 n次操作. 第 i次操作的具体流程如下: 从数组 V尾部插入整数 0. 2.将位于数组 V末尾的 ai 个元素都 ...