python批量将csv文件转xls

穿精又带淫゛_ 提交于 2019-12-19 01:38:38

csv2xls源代码:

import win32com.client as win32
import os.path
import os

def csv2xls():
    rootdir = r"D:\poi\云南昆明"  # 需要转换的xls文件存放处
    rootdir1 = r"C:\Users\giser\Desktop\新建文件夹"
    files = os.listdir(rootdir)  # 列出xls文件夹下的所有文件
    num = len(files)  # 列出所有文件的个数
    for i in range(num):  # 按文件个数执行次数
        kname = os.path.splitext(files[i])[1]  # 分离文件名与扩展名,返回(f_name,
        Nname = os.path.splitext(files[i])[0]
        if kname == '.csv':
            fname = rootdir + '\\' + files[i]  # 合成需要转换的路径与文件名
            fname1 = rootdir1 + '\\' + Nname #
            excel = win32.gencache.EnsureDispatch('Excel.Application')  # 调用win32
            wb = excel.Workbooks.Open(fname)  # 打开需要转换的文件
            wb.SaveAs(fname1+".xls", FileFormat=51)  # 文件另存为xlsx扩展名的文件
            wb.Close()
            excel.Application.Quit()
if __name__ == '__main__':
    csv2xls()

xls2xlsx源代码:

#批量转换文件xls-xlsx
import win32com.client as win32
import os.path
import os
def xls2xlsx():
    rootdir = r"C:\Users\CQ375\Desktop\temp1" #需要转换的xls文件存放处
    rootdir1 = r"C:\Users\CQ375\Desktop\ex" #转换好的xlsx文件存放处
    files = os.listdir(rootdir) #列出xls文件夹下的所有文件
    num = len(files) #列出所有文件的个数
    for i in range(num): #按文件个数执行次数8 批量获取文件修改时间9 日期计算
        kname = os.path.splitext(files[i])[1] #分离文件名与扩展名,返回(f_name,f_extension)元组
        if kname == '.xls': #判定扩展名是否为xls,屏蔽其它文件
        fname = rootdir + '\\' + files[i] #合成需要转换的路径与文件名
        fname1 = rootdir1 + '\\' + files[i] #合成准备存放转换好的路径与文件名
        excel = win32.gencache.EnsureDispatch('Excel.Application') #调用win32模块
        wb = excel.Workbooks.Open(fname) #打开需要转换的文件
        wb.SaveAs(fname1+"x", FileFormat=51) #文件另存为xlsx扩展名的文件
        wb.Close()
        excel.Application.Quit()
if __name__ == '__main__':
    xls2xlsx()
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!