news 2026/8/5 10:38:45

- `openpyxl`:用于读写 Excel(`.xlsx`)文件的第三方库,支持创建、修改工作簿、工作表、单元格数据、样式、公式

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
- `openpyxl`:用于读写 Excel(`.xlsx`)文件的第三方库,支持创建、修改工作簿、工作表、单元格数据、样式、公式
  • os:用于与操作系统交互,如文件/目录路径操作、环境变量读取、文件存在性判断等;
  • shutil:提供高级文件操作功能,如复制、移动、删除文件或目录(如shutil.copy(),shutil.rmtree());
  • openpyxl:用于读写 Excel(.xlsx)文件的第三方库,支持创建、修改工作簿、工作表、单元格数据、样式、公式等。

⚠️ 注意:使用openpyxl前需确保已安装(可通过pip install openpyxl安装),且它不支持.xls(旧版 Excel)格式,仅支持.xlsx.xlsm.xltx.xltm

常见用途示例:

  • openpyxl.load_workbook()打开现有 Excel 文件;
  • workbook.activeworkbook['SheetName']获取工作表;
  • sheet['A1'].value = 'Hello'写入单元格;
  • workbook.save('output.xlsx')保存更改。
    使用openpyxl读取 Excel 中某一列(例如列 “A”)的所有非空值,可按以下步骤操作:

✅ 正确做法(推荐,高效且安全):

fromopenpyxlimportload_workbook# 加载工作簿(只读模式更省内存,适合大文件)wb=load_workbook('data.xlsx',read_only=True)# 注意:read_only=True 时不能修改,但更快更省内存ws=wb.active# 或 wb['Sheet1']# 方法1:遍历该列所有有数据的单元格(推荐,自动跳过空白行)column_data=[]forcellinws['A']:# A 列所有单元格(从 A1 开始向下)ifcell.valueisnotNoneandstr(cell.value).strip()!='':# 排除 None 和纯空白字符串column_data.append(cell.value)wb.close()# read_only=True 时必须显式关闭print(column_data)

✅ 补充说明:

  • ws['A']返回一个生成器(generator),逐行访问 A 列所有单元格(包括空单元格),但不会加载整张表到内存(尤其在read_only=True下);
  • 若需处理含公式、日期、数字、布尔等类型,cell.value已自动解析为 Python 原生类型(如datetime.date,int,bool);
  • 若需严格排除空白字符串、空格、换行符,用str(cell.value).strip()是稳妥做法;
  • ❌ 避免用ws.max_row+ 循环索引(如ws[f'A{i}'].value),因max_row可能不准(尤其删除行后未刷新)。

🔧 进阶:读取指定列(如第3列 → ‘C’ 列)或按列号(ws.iter_cols(min_col=3, max_col=3, values_only=True)):

# 更灵活:按列号获取整列值(values_only=True 直接返回值元组)col_values=list(ws.iter_cols(min_col=1,max_col=1,values_only=True))[0]# 第1列(A列)non_empty=[vforvincol_valuesifvisnotNoneandstr(v).strip()]

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/5 10:37:18

2026华为OD面试题063:单词接龙

题目描述 单词接龙的规则是:可用于接龙的单词首字母必须与前一个单词的尾字母相同。当存在多个首字母相同的单词时,取长度最长的单词;如果长度也相等,则取字典序最小的单词。已经参与接龙的单词不能重复使用。 现给定一组全部由小写字母组成的单词数组,并指定其中一个单…

作者头像 李华
网站建设 2026/8/5 10:37:08

Cognee实战指南:5行代码为AI应用构建持久记忆系统

1. 项目概述:当AI学会“记住”你最近在折腾AI应用开发的朋友,估计都绕不开一个核心痛点:对话的“健忘症”。你花半小时跟一个AI助手详细说明了你的项目背景、技术偏好和个人习惯,聊得热火朝天。结果第二天打开,它又是一…

作者头像 李华
网站建设 2026/8/5 10:36:36

LangChain替代品测评:2026年五大框架选型指南

# LangChain替代品测评:2026年五大框架选型指南## 一、背景与挑战LangChain自2022年诞生以来,迅速成为构建LLM应用的标配框架。然而,随着多智能体系统、复杂RAG管线和生产级部署需求的爆发,其抽象层过重、调试困难、版本兼容性差等…

作者头像 李华
网站建设 2026/8/5 10:34:25

深度学习训练优化:自迭代五步法解析与实践

1. 深度学习训练的本质困境与破局思路 在实验室调试模型到凌晨三点的某个瞬间,我突然意识到大多数深度学习从业者都陷入了一个怪圈:我们不断尝试新的网络结构、调整超参数、更换优化器,却很少系统性地思考训练过程本身的逻辑闭环。这就像一名…

作者头像 李华