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

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

前言

使用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()
  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值