当前位置: 首页> 文旅> 酒店 > 人生苦短我用Python 5-xlwings自动调整表格

人生苦短我用Python 5-xlwings自动调整表格

时间:2025/7/10 17:04:18来源:https://blog.csdn.net/kikikiki001/article/details/142153386 浏览次数:0次

人生苦短我用Python 5-xlwings自动调整表格

  • 前言
  • 依赖
  • 主要类
    • App类
    • Books类
    • Sheet 类
  • 示例代码

前言

使用pandas库+openpyxl库实现了csvexcel文件的互相转换,csvexcel后若数据超出了单元格的宽度,部分数据无法完整显示。需要手动打开Excel文件,点击菜单栏开始→格式→自动调整列宽,再保存多个操作。本文介绍如何使用xlwings库实现自动调整列宽的功能。

依赖

pip install xlwings

与excel文件处理的相关的库

说明
pandas数据处理和分析库,特别适用于结构化数据(如表格数据)
openpyxl用于读写 Excel 2010 xlsx/xlsm/xltx/xltm 文件的Python库。支持通过 Python 代码创建、修改和读取 Excel 文件,而无需依赖于 Microsoft Excel 应用程序。
xlwings用于在PythonExcel之间进行交互的库,可在Python中控制Excel进程,进行读写操作,甚至调用VBA代码。

主要类

App类

App类代表 Excel 应用程序实例,用于启动Excel程序。

  • 参数 visible:用于设置Excel程序的可见性
  • 参数 add_book:设置启动Excel时是否新建工作簿

Books类

Books类代表 Excel 中所有打开的工作簿的集合。可以访问、添加或关闭特定的工作簿。

  • add():创建一个新的空白工作簿
  • open(fullname):打开一个已存在的工作簿
  • save():保存工作簿
  • close():关闭工作簿

Sheet 类

Sheet类代表工作簿中的单个工作表。可获取或修改工作表中的数据,或者对工作表进行操作如添加、删除等。

  • autofit(axis):根据单元格内容,自动调整行高或列宽
    • axis=None 表示同时调整行高和列宽
    • axis=‘rows’ 或 axis=‘r’ 表示仅调整行高
    • axis=‘columns’ 或 axis=‘c’ 表示仅调整列宽

示例代码

单个Excel文件自动调整列宽。

import xlwings as xw
def autofit(input_file):# 启动Excel程序app = xw.App(visible=False, add_book=False)# 打开工作簿book = app.books.open(input_file)# 遍历工作表for sheet in book.sheets:# 自动调整列宽sheet.autofit(axis='c')# 保存工作簿book.save()# 关闭工作簿book.close()# 退出Excel程序app.quit()
关键字:人生苦短我用Python 5-xlwings自动调整表格

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: