import win32com.client
import os
def xlsx_to_xls(fname, export_name, delete_flag=True):
“”"
将xlsx文件转化为xls文件
:param fname: 传入待转换的文件路径(可传绝对路径,也可传入相对路径,都可以)
:param export_name: 传入转换后到哪个目录下的路径(可传绝对路径,也可传入相对路径,都可以)
:param delete_flag: 转换成功后,是否删除原来的xlsx的文件,默认删除 布尔类型
:return: 无返回值
“”"
excel = win32com.client.DispatchEx(‘Excel.Application’)

excel.Visible = False
excel.DisplayAlerts = False
absolute_path = os.path.join(os.path.dirname(os.path.abspath(fname)), os.path.basename(fname))
save_path = os.path.join(os.path.dirname(os.path.abspath(export_name)), os.path.basename(export_name))
wb = excel.Workbooks.Open(absolute_path)
wb.SaveAs(save_path, FileFormat=56)  # FileFormat = 51 is for .xlsx extension
wb.Close()  # FileFormat = 56 is for .xls extension
excel.Application.Quit()
if delete_flag:os.remove(absolute_path)

def xls_to_xlsx(fname, export_name, delete_flag=True):
“”"
将xlsx文件转化为xls文件
:param fname: 传入待转换的文件路径(可传绝对路径,也可传入相对路径,都可以)
:param export_name: 传入转换后到哪个目录下的路径(可传绝对路径,也可传入相对路径,都可以)
:param delete_flag: 转换成功后,是否删除原来的xlsx的文件,默认删除 布尔类型
:return: 无返回值
“”"
excel = win32com.client.DispatchEx(‘Excel.Application’)

excel.Visible = False
excel.DisplayAlerts = False
absolute_path = os.path.join(os.path.dirname(os.path.abspath(fname)), os.path.basename(fname))
save_path = os.path.join(os.path.dirname(os.path.abspath(export_name)), os.path.basename(export_name))
# os.path.join(export_name,os.path.basename(fname).split('.xls')[0])
wb = excel.Workbooks.Open(absolute_path)
wb.SaveAs(save_path, FileFormat=51)  # FileFormat = 51 is for .xlsx extension
print(wb.name)
wb.Close()  # FileFormat = 56 is for .xls extension
excel.Application.Quit()
if delete_flag:os.remove(absolute_path)

#测试语句

xlsx_to_xls(r’D:\BS\T7.xlsx’,r’D:\BS\T7.xls’, delete_flag=False)

xls_to_xlsx(r’D:\BS\T7.xls’,r’D:\BS\T77.xlsx’, delete_flag=False)

rootdir = r"D:\BS\test1"
name_list=os.listdir(rootdir)
print(name_list)
new_path=r’D:\BS\test2’
cnt=0
for name in name_list:
path=os.path.join(rootdir, name)
cnt+=1
# xls_to_xlsx(path,new_path+‘\’+str(name.split(‘.xls’)[0])+‘_’+str(cnt),False)
xls_to_xlsx(path, new_path + ‘\’ + str(name.split(‘.’)[0]), False)
print(‘本次共修改xls:’+str(cnt)+‘个’)

python xls和xlsx互转相关推荐

  1. python xls 转化 xlsx

    '''Excel xls 转化 xlsx'''# 第一版 单个xls文件转换 import win32com.client as win32fname = "C:\\Users\\hlj\\ ...

  2. python xls转换为xlsx格式

    单个xls文件转换 import win32com.client as win32 fname = "E:\\source.xls" excel = win32.gencache. ...

  3. Python xls 转 xlsx 格式

    代码如下: import win32com.client as win32fname = r"\\Mac\Home\Desktop\isearch_list2.xls" # 文件路 ...

  4. python pandas合并多个excel_python pandas合并多个excel(xls和xlsx)文件(弹窗选择文件夹和保存文件)...

    # python pandas合并多个excel(xls和xlsx)文件(弹窗选择文件夹和保存文件) import tkinter as tk from tkinter import filedial ...

  5. python 批量转换xls to xlsx,出现pywintypes.com_error: (-2147417848, ‘被调用的对象已与其客户端断开连接)’的问题处理

    先上python批量转换xls文件转xlsx文件的源代码: import os import win32com.client as win32def change_xls_to_xlsx():p_pr ...

  6. python读取 xls,xlsx,csv,doc,docx,pdf 格式的文件

    前言 利用python读取 xls,xlsx,csv,doc,docx,pdf 格式的文件 python版本3.10.4 读取xls pip install xlrd==2.0.1 wps的.et文件 ...

  7. Python xls文件和xlsx文件格式互相转换

    Python xls文件和xlsx文件格式互相转换 1. xls文件另存为xlsx import win32com.client xls_path = 'D:\\1_Work_Task\\01_Int ...

  8. python读取excel(读写处理xls或xlsx)

    前言 在很多应用场景中,程序都需要读取excel的配置. 比如,在游戏中,数值策划用excel 建好了数值表,我们要导入到游戏中.比如最简单的,等级-经验表. 注: 本文更新于2021.4.12, 基 ...

  9. python win32选取文件夹_python小工具 | Excel的xls和xlsx格式文件转换

    众所周知Excel文件格式转换可以通过"另存为"的方式转换格式,可以说是简单方便,但是对于大量文件转换或者经常重复进行转换操作时,这种方法就很不方便. 显然利用程序对xls和xls ...

  10. python实现多EXCEL表格合并xls、xlsx格式

    目录 前言 代码的特点 完整代码 感言 前言 以下都是我学习CSDN里面的各位大神的分享: 我主要参考目标-主体和弹窗 次要参考-进度显示 代码的特点 1.可以弹窗选择需要合并的文件所在文件夹: 2. ...

最新文章

  1. linux下oracle自动创建实例脚本
  2. 2020EC-final
  3. IOS启程06—iOS设置圆角图片
  4. 南通大学教务管理微信体验
  5. div+CSS编程技巧
  6. java框架是什么_Spring 是什么框架?
  7. 对MRPⅡ/ERP的认知
  8. win7激活码失效 报错0xC004F057解决方法
  9. 越来越喜欢SQL语法了,Linq什么时候出来啊,半年了,咋没见更新了呢!真是望眼欲穿。...
  10. 要闻君说: 百度云喜提信息安全首证;紫光展锐携5G芯片进击2019MWC;OPPO首发5G手机惊艳亮相……...
  11. 学校计算机教室学生使用记录表,学校学生信息技术教学计划
  12. python泊松_python实现泊松图像融合
  13. 蓝色理想:讲解网络端口及其详解的一个好网址
  14. 2110449-02-8,2110449-02-8巯基反应性PEG
  15. bzoj2683/4066 简单题
  16. js中用变量作为$()内id的值、动态获取id,及获取其下面的class元素
  17. 关于文件“Makefile”的修改时间在将来 XXX S后的问题
  18. rhel8安装libpcap-devel包
  19. EPICS记录参考--多位二进制输入记录(mbbi)
  20. 淘宝店铺上新图片上传获取请求方法

热门文章

  1. Handler同步屏障
  2. Android RxJava应用:优雅实现网络请求嵌套回调
  3. google身份验证器
  4. Linux文件禁止删除修改,Linux文件保护禁止修改、删除、移动文件等,使用chattr +i保护...
  5. Ajax传递二维数组至后台ThinkPHP控制器
  6. 【雷达与对抗】【2013.12】一种紧凑型超宽带雷达系统
  7. 费马小定理及MR素数判断
  8. ITunes备份的背景知识
  9. java entity tostring_EntityUtils.toString(entity)处理字符集问题解决
  10. 利用python炒股talib_【手把手教你】股市技术分析利器之TA-Lib(一)