使用openpyxl调整Excel的宽度

逐行加载Excel,并将行宽调整为行中的最大字符数。
希望在打开 Excel 时能够看到所有字符。

失败代码:

#失败代码:
wb = openpyxl.load_workbook('./targetExcelFile.xlsx')
ws = wb.worksheets[0]for col in ws.iter_cols():max_length = 0column = col[0].columnfor cell in col:if cell.value == None:continueif len(str(cell.value)) > max_length:max_length = len(str(cell.value))ws.column_dimensions[column].width = adjusted_width

运行结果:

Traceback (most recent call last):File "pypy.py", line 10, in mainws.column_dimensions[column].width = adjusted_widthFile "/.pyenv/versions/3.7.8/lib/python3.7/site-packages/openpyxl/utils/bound_dictionary.py", line 25, in __getitem__setattr(value, self.reference, key)File "/.pyenv/versions/3.7.8/lib/python3.7/site-packages/openpyxl/descriptors/base.py", line 42, in __set__raise TypeError('expected ' + str(self.expected_type))
TypeError: expected <class 'str'>

我收到一个错误,所以我进行了调查。
如果你看一下调查的内容…

 - ws1.column_dimensions[column].width = adjustment_width+ ws1.column_dimensions[col[0].column_letter].width = adjustment_width由于在openpyxl 3及更高版本中,column_dimensions的下标已从列号的数值更改为列名称的字符串。

原来如此。

修正处:

# 修正前
column = col[0].column# 修正后
column = col[0].column_letter

修正后的代码

wb = openpyxl.load_workbook('./targetExcelFile.xlsx')
ws = wb.worksheets[0]for col in ws.iter_cols():max_length = 0column = col[0].column_letterfor cell in col:if cell.value == None:continueif len(str(cell.value)) > max_length:max_length = len(str(cell.value))ws.column_dimensions[column].width = adjusted_width

修改成功,没问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/218725.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Leetcode 46 全排列

题意理解&#xff1a; 首先明确全排列是什么&#xff1f; 使用集合里所有的元素&#xff0c;使用不同的顺序进行排列&#xff0c;所有的排列集合即为全排列。 输入&#xff1a;nums [1,2,3] 输出&#xff1a;[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]] 这里的元素不会…

【Jenkins】Centos环境安装Jenkins(通过docker安装)

通过docker环境安装Jenkins 参考官网 https://hub.docker.com/r/jenkins/jenkins/ 1、安装docker环境 # 删除已有安装包 sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-…

如何使用自动化工具编写测试用例?

以下为作者观点&#xff0c;仅供参考&#xff1a; 在快速变化的软件开发领域&#xff0c;保证应用程序的可靠性和质量至关重要。随着应用程序复杂性和规模的不断增加&#xff0c;仅手动测试无法满足行业需求。 这就是测试自动化发挥作用的地方&#xff0c;它使软件测试人员能…

「C++」内存管理

&#x1f387;个人主页&#xff1a;Ice_Sugar_7 &#x1f387;所属专栏&#xff1a;C启航 &#x1f387;欢迎点赞收藏加关注哦&#xff01; 文章目录 &#x1f349;内存分布&#x1f349;关键字new&#x1f349;关键字delete&#x1f349;new和delete的封装实现&#x1f349;总…

小游戏获微信平台扶持,增长爆发点在哪里?开发者还能入局吗?

自2018年正式上线以来&#xff0c;微信小游戏生态的迅速增长&#xff0c;吸引了海量开发者和游戏公司的注意&#xff0c;背靠微信这一平台&#xff0c;小游戏的用户规模也不断膨胀&#xff0c;二者共同作用下&#xff0c;微信小游戏也是爆款频出。 AdSet官网 | 聚合SDK广告变现…

Python绘制一个简单的圣诞树

在Python中,你可以使用基本的打印语句和循环来绘制一个简单的圣诞树。以下是一个例子: def draw_christmas_tree(height):for i in range(height):print( * (height - i - 1) +

Java 数据结构篇-用数组、堆实现优先级队列

&#x1f525;博客主页&#xff1a; 【小扳_-CSDN博客】 ❤感谢大家点赞&#x1f44d;收藏⭐评论✍ 文章目录 1.0 优先级队列说明 2.0 用数组实现优先级队列 3.0 无序数组实现优先级队列 3.1 无序数组实现优先级队列 - 入队列 offer(E value) 3.2 无序数组实现优先级队列 - 出…

山西电力市场日前价格预测【2023-12-14】

日前价格预测 预测说明&#xff1a; 如上图所示&#xff0c;预测明日&#xff08;2023-12-14&#xff09;山西电力市场全天平均日前电价为491.16元/MWh。其中&#xff0c;最高日前电价为804.44元/MWh&#xff0c;预计出现在16:15。最低日前电价为336.28元/MWh&#xff0c;预计…

作业11.27

1. 2. def methods(m, n):#创建一个二维数组cp&#xff0c;用于存储到到每个位置的不同走法数量&#xff1b;cp [[0] * n for _ in range(m)]#从第一行和第一列的格子上的走法数量都为1for i in range(m):cp[i][0] 1for j in range(n):cp [0][j] 1#从第二行和第二列开始&…

smartKettle离线部署及问题记录

目录 &#x1f4da;第一章 前言&#x1f4d7;背景&#x1f4d7;目的&#x1f4d7;总体方向 &#x1f4da;第二章 部署&#x1f4d7;源码下载&#x1f4d7;后端部署&#x1f4d5;导入后端项目&#x1f4d5;修改settings.xml(自动下载相关jar包)&#x1f4d5; 编译&#x1f4d5; …

python+selenium截图方法

1.截图网页全部 截全屏的&#xff0c;用到的内置方法为save_screenshot(“test.png”) from selenium import webdriver from time import sleepclass test:driver webdriver.Chrome()driver.maximize_window()driver.get(https://www.baidu.com/)sleep(2)# 截取全屏driver.…

数据结构:双链表

由于双链表中大部分操作其实和单链表操作类似&#xff0c;所以这里只挑关键的一些函数 1、定义与初始化 typedef struct DNode {ElementType data;struct DNode *prior,*next; }DNode,*DLinkList;bool InitialDLinkList(DLinkList &L){L (DNode *)malloc(sizeof(DNode));…

不与最大数相同的数字之和

题目描述 输出一个整数数列中不与最大数相同的数字之和。 输入格式 输入分为两行&#xff1a; 第一行为 (N 为接下来数的个数&#xff0c;N≤100)&#xff1b; 第二行为 N 个整数&#xff0c;数与数之间以一个空格分开&#xff0c;每个整数的范围是 −1000,000 到 1000,00…

高精度电压源的作用是什么

高精度电压源是一种用于提供稳定和精确电压输出的电子设备。它们在实验室研究、工业生产和医疗器械等各种应用中发挥着重要作用。下面西安安泰来为大家详细介绍高精度电压源的作用和用途等内容。 一、高精度电压源的作用 提供准确的电压值&#xff1a;高精度电压源可以提供非常…

直流电、交流电、电磁波、光之间的联系

直流电、恒定磁场、交流电、交变磁场、电磁波、光之间的联系 频率为0Hz的直流电及恒定磁场 从频率的角度上看&#xff0c;直流电与恒定磁场的方向不变&#xff0c;频率为0Hz. 如可充电锂离子电池的电压3.7V, 干电池的电压1.5V. 磁铁的磁场方向从N极到S极&#xff0c;始终保持…

Failed to connect to huggingface.co

在国内huggingface.co被墙了。可以使用Huggingface 镜像站https://hf-mirror.com/来解决这个问题。 解决方法&#xff1a; # vim ~/.bashrc export HF_ENDPOINThttps://hf-mirror.com然后再source ~/.bashrc 当访问 huggingface.co 时&#xff0c;将会直接替换为本站域名hf-m…

[Django-05 ]自定义sql查询

自定义sql查询 settings.py 设置数据库自定义sql查询 settings.py 设置数据库 DATABASES {# default: {# ENGINE: django.db.backends.sqlite3,# NAME: BASE_DIR / db.sqlite3,# }default: {ENGINE: django.db.backends.mysql, # 数据库引擎NAME: study, # 数据库名…

mac切换node版本

Mac 上切换 node 版本总结 背景 在做项目的时候&#xff0c;往往会遇到老项目没有升级的问题&#xff0c;node环境版本比较低&#xff0c;自己电脑安装或者新项目安装了最新版本的 node 环境&#xff0c;那么既要支持老版本的使用也要支持新版本那么怎么办呢&#xff1f; Mac 提…

AnimateAnything:Fine-grained open domain image animation with motion guidance

1.Introduction 本文旨在借助视频扩散模型的motion prior来解决开放领域图像动画问题&#xff0c;提出了一种可控扩散图像动画方法&#xff0c;能够在保留细节的同时对图像中的任意对象进行动画处理。为了增强用户对动画过程的控制能力&#xff0c;引入了motion area guidance和…

vue3 添加编辑页使用 cron 表达式生成

示例效果图 1、添加组件 <template><div class"v3c"><ul class"v3c-tab"><li class"v3c-tab-item" :class"{ v3c-active: tabActive 1 }" click"onHandleTab(1)">秒</li><li class&qu…