首页 > 编程语言 >Python pandas 自动自动调整列宽 和加边框

Python pandas 自动自动调整列宽 和加边框

时间:2023-11-20 10:44:06浏览次数:37  
标签:sheet name Python widths 自动 thin import 列宽 openpyxl

注意openpyxl-3.0.10版本

代码

import numpy as np
import pandas as pd
from openpyxl.styles import Border, Side
from openpyxl.utils import get_column_letter
import pandas as pd
import openpyxl

if __name__ == '__main__':

    excel_file = pd.ExcelFile('source.xlsx')
    thin_border = Border(
        left=Side(style='thin'),
        right=Side(style='thin'),
        top=Side(style='thin'),
        bottom=Side(style='thin'),
    )

    with pd.ExcelWriter('output.xlsx', engine='openpyxl') as writer:
        for sheet_name in excel_file.sheet_names:
            df = excel_file.parse(sheet_name)
            df.to_excel(writer, sheet_name=sheet_name, index=False)

            column_widths = df.columns.str.encode('gbk').str.len().values
            max_widths = df.astype(str).applymap(lambda x: len(str(x).encode('gbk'))).max().values

            widths = np.max([column_widths, max_widths],axis=0)

            worksheet = writer.sheets[sheet_name]
            for i, width in enumerate(widths, 1):
                worksheet.column_dimensions[get_column_letter(i)].width = width+2

            for row in worksheet.iter_rows():
                for cell in row:
                    cell.border = thin_border

标签:sheet,name,Python,widths,自动,thin,import,列宽,openpyxl
From: https://www.cnblogs.com/guanchaoguo/p/17843420.html

相关文章

  • Java开发者的Python快速进修指南:函数进阶
    在上一篇文章中,我们讲解了函数最基础常见的用法,今天我想在这里简单地谈一下函数的其他用法。尽管这些用法可能不是非常常见,但我认为它们仍然值得介绍。因此,我将单独为它们开设一个章节,并探讨匿名函数和装饰器函数这两种特殊的用法。匿名函数在Python中,匿名函数也被称为lambda函......
  • win10和win11关闭自动更新
    (1)win+r运行输入:regedit(2)在注册表编辑左侧栏依次展开以下目录:\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings(3)在窗口右侧空白处创建新建一个:DWORD(32位)值(4)将其重命名为:FlightSettingsMaxPauseDays(5)在双击打开,基数改为十进制,数值数字改成你想暂停的天数:例......
  • 【3.0】Python高级之函数对象与闭包函数
    【一】函数对象函数对象指的是函数可以被当做数据来处理,具体可以分为四个方面的使用【1】函数可以被引用#定义一个函数defadd(x,y):returnx+y#将函数地址绑定给一个变量func=add#通过这个变量找到对应的地址,从而调用函数res=func(1,2)print(res)......
  • 【2.0】Python高级之名称空间与作用域
    【一】名称空间与闭包【1】什么是名称空间名称空间即存放名字与对象映射/绑定关系的地方。对于x=3Python会申请内存空间存放对象3,然后将名字x与3的绑定关系存放于名称空间中delx表示清除该绑定关系。在程序执行期间最多会存在三种名称空间【2】内建名称空间伴随pyt......
  • 【1.0】Python高级之函数
    【一】函数的基本使用基于前一部分的学习,我们已经能开发一些功能简单的小程序了但随着程序功能的增多,代码量随之增大此时仍不加区分地把所有功能的实现代码放到一起,将会使得程序的组织结构不清晰,可读性变差,且程序中需要频繁使用同一功能时,只能重复编写该功能的实现代码,日积月......
  • Ftrans自动同步软件:解决企业级数据同步的烦恼
    随着数字经济的发展,企业数字化的办公场景越来越复杂,其中一个急需解决的问题就是企业不同服务器之间的文件自动同步的需求。然而,目前市场上的同步软件通常有很多的缺点,让用户感到困扰。1、数据安全:在同步数据的过程中,如果同步软件的安全性不足,就可能导致企业的敏感信息被泄露。这......
  • 创建Conda环境时,自动包含当前系统中的Python和CUDA等
    要在创建Conda环境时自动包含当前系统中的Python和CUDA,可以使用Conda的environment.yml文件。environment.yml文件是一个文本文件,其中包含了创建Conda环境所需的依赖项信息。下面是一个示例的environment.yml文件,其中包含了Python和CUDA的依赖项:yaml复制代码 name:myenv......
  • [oeasy]python001_先跑起来_python_三大系统选择_windows_mac_linux
    先跑起来......
  • 如何关闭电脑自动更新?一招教你永久关闭!
    那么,如何关闭Windowsupdate服务呢?以联想ThinkBook14G2ITL,操作系统Windows11进行演示,不涉及app。要想彻底关闭Windows电脑的自动更新,仅仅从系统设置里面选择暂停更新是完全不够用的,只有将windows自动更新的服务关闭掉,才能有效阻止其更新。1.在win+r运行框中输入s......
  • 将Excel数据自动录入国家防返贫系统
    不会编程的看这里:https://www.cnblogs.com/liangxinhy/p/17842931.html一、配置运行环境(1)语言python,编程软件Pychram(2)下载三个功能库——selenium、xlrd、xlwtimporttimefromselenium.webdriver.common.byimportByfromselenium.webdriver.supportimportexpected_cond......