python实现xlsx批量转xls(或者xls批量转xlsx)

一、首先需要安装python(必需);

二、编辑器可以随便用,我用的是pycharm;

三、安装win32com第三方库(必需,我用的python版本是3.7);

安装方法:
1、在cmd中执行pip install pywin32
在这里插入图片描述
2、在pychram中setting >> project:xx >> Python Interpreter >> 按左下角的+号 >> 搜索"pywin32" >> 选中后点击Install Package安装
在这里插入图片描述


四、xlsx批量转xls执行的代码;

# 执行之前请修改成自己想要的输入和输出文件夹(inputdir和outputdir);
如果有报错请查看输出文件夹的文件名是否重复 或者 文件是否被占用(如果文件被占用可以在任务管理器中office或wps结束进程)

# -*- coding:utf-8 -*-
import os
import win32com.client as win32

# 输入目录
inputdir = u'E:\\xlsx'
# 输出目录
outputdir = u'E:\\xlsx\\xls'
if not os.path.exists(outputdir):
    os.mkdir(outputdir)

# 三个参数:父目录;所有文件夹名(不含路径);所有文件名
for parent, dirnames, filenames in os.walk(inputdir):
    for fn in filenames:
        if fn.split('.')[-1] == "xlsx":
            filedir = os.path.join(parent, fn)
            print(filedir)
            excel = win32.gencache.EnsureDispatch('Excel.Application')
            wb = excel.Workbooks.Open(filedir)
            # xlsx: FileFormat=51
            # xls:  FileFormat=56
            wb.SaveAs((os.path.join(outputdir, fn.replace('xlsx', 'xls'))), FileFormat=56)
            wb.Close()
            excel.Application.Quit()
五、xls批量转xlsx执行的代码;
# -*- coding:utf-8 -*-
import os
import win32com.client as win32

# 输入目录
inputdir = u'E:\\xls'
# 输出目录
outputdir = u'E:\\xls\\xlsx'
if not os.path.exists(outputdir):
    os.mkdir(outputdir)

# 三个参数:父目录;所有文件夹名(不含路径);所有文件名
for parent, dirnames, filenames in os.walk(inputdir):
    for fn in filenames:
        if fn.split('.')[-1] == "xls":
            filedir = os.path.join(parent, fn)
            print(filedir)
            excel = win32.gencache.EnsureDispatch('Excel.Application')
            wb = excel.Workbooks.Open(filedir)
            # xlsx: FileFormat=51
            # xls:  FileFormat=56
            wb.SaveAs((os.path.join(outputdir, fn.replace('xls', 'xlsx'))), FileFormat=51)
            wb.Close()
            excel.Application.Quit()

  • 7
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值