常常需要对excel的格式进行转换,借助 win32com 库,可以实现这个功能,下面我封装了下,方便使用。

win32com 表格处理函数底层,不同的格式有不同的数值对应:
比如下面我重点圈出来,常用的3个格式:csv/xlsx/xls

完整的mapping表格,请点击链接 :XlFileFormat enumeration (Excel) | Microsoft Docs



核心代码就下面这几句,打开excel,打开表格,SaveAs另存为指定格式

             excel = DispatchEx('Excel.Application')excel.Visible = False  # 如果是True  会打开excel程序(界面)excel.DisplayAlerts = 0  # 不显示警告信息wb = excel.Workbooks.Open(input_file)  # 打开一个excel文件 最好使用绝对路径wb.SaveAs(out_file, FileFormat= 62)  # 另存为xls格式wb.Close()excel.Application.Quit()

全部代码:
封装了一个类ExcelFormat,方便调用,excel_format_transform()函数有两个参数,输入表格文件路径和输出的格式
运行完后,输入文件的目录下会生成一个同名但是格式不同的表格文件

'''
Created on 20220607
@author: langGe
@file: AutoRestart
@describer:
excel xlsx /xls /csv之间的格式转换
'''import os
from win32com.client import *class ExcelFormat(object):def __init__(self):self.excel_format = {"xlsx": 56, "xls": 51, "csv": 62}def excel_format_transform(self, input_file, excel_type):''':param input_file: 输入表格文件:param excel_type: 期望转换的格式, csv/xls等:return:'''input_file = os.path.abspath(input_file) #必须用绝对路径filepath, fullname = os.path.split(input_file)name, ext = os.path.splitext(fullname)if ext == excel_type.lower():print("输入表格后缀和期望输出的格式相同")return Noneif excel_type.lower() not in self.excel_format.keys():print("暂不指出该格式{}转换".format(excel_type.lower()))return None'''生成输出文件路径'''out_file = "{}.{}".format(name, excel_type.lower())out_file = os.path.join(filepath, out_file)out_file = os.path.abspath(out_file)if os.path.exists(out_file):os.remove(out_file)try:excel = DispatchEx('Excel.Application')excel.Visible = False  # 如果是True  会打开excel程序(界面)excel.DisplayAlerts = 0  # 不显示警告信息wb = excel.Workbooks.Open(input_file)  # 打开一个excel文件 最好使用绝对路径wb.SaveAs(out_file, FileFormat = self.excel_format[excel_type.lower()])  # 另存为xls格式wb.Close()excel.Application.Quit()print("输出文件", out_file)print("转换成功!")except Exception as e:print("{}表格格式转换失败!".format(input_file))print(e)if __name__ == '__main__':for i in sys.argv:print(i)if len(sys.argv) == 3:c = ExcelFormat()print("输入文件", sys.argv[1])c.excel_format_transform(sys.argv[1], sys.argv[2])

Python Excel xlsx,xls,csv 格式互转相关推荐

  1. excel转成csv格式的默认分隔符

    有时候需要将excel转成csv格式的文件,可以通过"另存为csv(逗号分隔)"实现.但如果遇到某个单元格内容包含逗号,那么这个cvs文件将可能导致使用它的程序出错,这个时候我们需 ...

  2. Java - 读取Excel并转CSV格式

    Java - 读取Excel并转CSV格式 一. 案例 一. 案例 1.pom依赖: <dependency><groupId>com.monitorjbl</group ...

  3. csv和excel php 解析_php读取csv文件(excel可另存为csv格式文件)

    csv文件简介 看到这个题目大家一定莫名其妙,这个csv文件和office有啥关系.呵呵,细心地朋友在用excel的时候会发现,excel可以另存为csv格式.我之前也对这个东西没什么了解,只是知道e ...

  4. python–颜色英文与RGB格式互转

    python–颜色英文与RGB格式互转 使用pip安装webcolors pip install webcolors 1- 导入webcolors import webcolors 2-英文转RGB ...

  5. 实现Excel文件的统一读取功能(包含xls、xlsx、csv格式)

    笔者之前使用esayexcel的时候碰到了一个问题,就是easyexcel无法读取csv文件,所以迫不得已之下自己手写了一个统一读取的工具类,在这里分享一下,当然还有许多的不足之处,希望各位看官老爷们 ...

  6. POI EXCEL(.xls/.xlsx)转CSV格式

    难点在于Date日期类型的转化,需要采用 //.xls: numrec.getXFIndex() == 62//.xlsx: this.formatIndex == 31 判断日期类型,并结合 Dat ...

  7. python excel文件转为csv文件_python实现将excel文件转化成CSV格式

    python实现将excel文件转化成CSV格式 如下所示: import pandas as pd data = pd.read_excel('123.xls','Sheet1',index_col ...

  8. 使用Python对xlsx,csv, txt格式文件进行读、写并绘图

    0. 背景 最近需要用到python通过读取,写入Excel数据,并画一些图.虽然以前学过一些,但是都忘得差不多了,故翻出以前学习的资料,整理在此,常用常新,也方便自己以后复习. 1. 通过panda ...

  9. Excel拆分多个表格,并保存多个文件,(xlsx或者csv格式)

    > 第一部分 一表拆为多个子表单 以下涉及代码转自https://blog.csdn.net/qq_41554671/article/details/87621830?ops_request_m ...

  10. python:excel文件转csv

    0. 使用库 xlsx文件解析处理: openpyxl库 csv文件格式生成:csv 1. 导入openpyxl模块 import openpyxl #导入模块openpyxl openpyxl是第三 ...

最新文章

  1. 通过 for 循环,比较 Python 与 Ruby 编程思想的差别
  2. 对复杂业务组件在实际开发过程中被调用的反思
  3. 互为质数的勾股数c语言,c语言 寻求勾股数满足x2+y2=z2的正整数x,y和z称为一组勾股数(pythagorean...
  4. bash: _upvars: `-a2‘: invalid number specifier bash: /dev/null: 权限不够 bas
  5. matlab神经网络动量因子,bp神经网络的动量因子
  6. 【广告技术】如何提升定向广告效果?腾讯广告提出高质量负实例生成新方法
  7. Modelsim下载 安装 与 和谐教程
  8. codeblocks下载安装及问题解决
  9. ---常见的计算几何问题的快速计算机算法(计算机图形学+游戏渲染碰撞检测)
  10. python hist函数_Python pandas.DataFrame.hist函数方法的使用
  11. 微服务可观测性研究之distributed tracing--1.综述
  12. 小程序发布上线流程_微信小程序发布流程:公司、个人如何注册小程序
  13. matlab半小提琴图,matplotlib – 分开的小提琴图的一半,以比较尾部数据
  14. centos7.5下gmssl安装使用教程
  15. 错误1:Archive for required library: XXXXXXXXcannot be read or is not a valid ZIP file
  16. OpenStack Days China:华云数据CTO郑军分享OpenStack创新实践
  17. (翻译)文章列表(Article List)
  18. MiddleBury与SceneFlow 数据集相机参数与pfm文件解析
  19. PR转场模板 实用创意分裂多帧多画面纪录片vlog转场过渡pr模板
  20. 导电滑环的几种接线方式

热门文章

  1. windows删除注册表(通用方法)
  2. 服务器虚拟化集群部署
  3. 最全的Excel-sumif函数多条件求和案例汇总
  4. 逆向基础 OS-specific (四)
  5. Python爬虫代理池搭建
  6. uniapp地图计算两点角度,旋转图标(轨迹回放)
  7. 觅伊、Soul,这些社交软件是怎么火起来的?
  8. 12000字深度研究六大消费品牌,挖掘私域战略价值
  9. 最新最全的阿里云产品手册出炉
  10. OPNsense用户手册-强制网络门户