当前位置: 首页 > news >正文

使用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.lryc.cn/news/259001.html

相关文章:

  • 前端面试——CSS面经(持续更新)
  • 【C语言】结构体实现位段
  • IEEE RAS 机器人最优控制(Model-based Optimization for Robotics)学习资料
  • redis中缓存雪崩,缓存穿透,缓存击穿等
  • C_8练习题答案
  • Web漏洞分析-文件解析及上传(中)
  • 使用Node.js创建接口
  • 【起草】人人都应该有一个chatGPT助手
  • TCP/IP详解——网络基本概念
  • [Linux] ps命令详解
  • QT 中基于 TCP 的网络通信 (备查)
  • 使用MIB builder自定义物联网网关的MIB结构
  • 特权FPGA学习笔记
  • 利用阿里云 DDoS、WAF、CDN 和云防火墙为在线业务赋能
  • Mysql的事务日志
  • 三、Shell 环境
  • 2023年第三届产业数字化【金铲奖】重磅来袭!
  • node.js安装和配置
  • 【周报2023.12.09】
  • 基于ssm大学生创新创业平台项目管理子系统设计与实现论文
  • JS基础之原型原型链
  • 【力扣100】54.螺旋矩阵
  • UI 优先的统一身份认证系统 Casdoor
  • Realme X7 Pro Root 刷机教程
  • postgresql自带指令命令系列三
  • Java_mybatis-结果集映射-ResultTypeResultMap
  • 【Java】MySQL存储 MD5 值应该用 VARCHAR 还是CHAR?
  • pytorch中五种常用随机矩阵构造方法:rand、randn、randn_like、randint、randperm
  • 2023第二届全国大学生数据分析大赛A完整原创论文(含摘要+问题分析+模型建立与求解+python代码)
  • Qt 面试指南