读取excel工具:openpyxl | AI应用开发

简介: `openpyxl` 是一个 Python 库,专门用于读写 Excel 2010 xlsx/xlsm/xltx/xltm 文件。它是处理 Excel 文件的强大工具,可以让你在不需要安装 Excel 软件的情况下,对 Excel 文件进行创建、修改、读取和写入操作【10月更文挑战第3天】

读取excel工具:openpyxl | AI应用开发

openpyxl 是一个 Python 库,专门用于读写 Excel 2010 xlsx/xlsm/xltx/xltm 文件。它是处理 Excel 文件的强大工具,可以让你在不需要安装 Excel 软件的情况下,对 Excel 文件进行创建、修改、读取和写入操作。以下是对 openpyxl 的详细介绍。

一、openpyxl 的特点

  1. 读写 Excel 文件:支持读写 .xlsx.xlsm 文件。
  2. 操作单元格:读取、写入和修改单元格内容。
  3. 处理合并单元格:识别和处理合并单元格。
  4. 样式和格式化:应用字体、颜色、对齐、边框和填充等样式。
  5. 公式支持:写入和计算 Excel 公式。
  6. 图表支持:创建和修改各种图表。
  7. 数据验证和条件格式:添加数据验证和条件格式。
  8. 工作表操作:添加、删除、重命名工作表。
  9. 图像支持:插入和处理图片。

二、安装 openpyxl

安装 openpyxl 非常简单,可以使用 pip:

pip install openpyxl

三、openpyxl 的基本概念

1. 工作簿(Workbook)

工作簿是 Excel 文件的最外层结构。一个工作簿可以包含多个工作表。

2. 工作表(Worksheet)

工作簿中的单个表格页面。每个工作表由行和列组成,可以包含数据、公式、图表等。

3. 单元格(Cell)

工作表中的一个数据单元。每个单元格由行号和列字母标识,例如 A1 表示第一列第一行的单元格。

四、基本操作示例

以下是一些基本的 openpyxl 操作示例:

1. 创建和保存 Excel 文件

from openpyxl import Workbook

# 创建一个新的工作簿
wb = Workbook()

# 获取活动的工作表
ws = wb.active

# 写入数据到单元格
ws['A1'] = 'Hello'
ws['B1'] = 'World'

# 保存工作簿
wb.save('example.xlsx')

2. 读取 Excel 文件

from openpyxl import load_workbook

# 打开现有的工作簿
wb = load_workbook('example.xlsx')

# 获取活动的工作表
ws = wb.active

# 读取单元格数据
print(ws['A1'].value)
print(ws['B1'].value)

3. 修改 Excel 文件

# 修改单元格数据
ws['A1'] = 'New Value'

# 保存修改后的工作簿
wb.save('example_updated.xlsx')

4. 合并和拆分单元格

# 合并单元格
ws.merge_cells('A1:B1')

# 拆分单元格
ws.unmerge_cells('A1:B1')

5. 应用样式和格式化

from openpyxl.styles import Font, Color, Alignment, Border, Side

# 应用字体样式
ws['A1'].font = Font(name='Arial', size=14, bold=True, italic=True)

# 应用对齐方式
ws['A1'].alignment = Alignment(horizontal='center', vertical='center')

# 应用边框
ws['A1'].border = Border(left=Side(style='thin'), right=Side(style='thin'), 
                         top=Side(style='thin'), bottom=Side(style='thin'))

6. 添加公式

# 在单元格中插入公式
ws['C1'] = '=SUM(A1:B1)'

7. 操作图表

from openpyxl.chart import BarChart, Reference

# 创建一个柱状图
values = Reference(ws, min_col=1, min_row=1, max_col=2, max_row=2)
chart = BarChart()
chart.add_data(values)

# 将图表插入工作表
ws.add_chart(chart, 'E5')

五、处理合并单元格的完整示例

以下是一个更复杂的示例,展示如何读取 Excel 文件并处理合并单元格的值:

import openpyxl

def fill_merged_cells(sheet):
    # 遍历所有合并单元格
    for merged_range in sheet.merged_cells.ranges:
        # 提取合并单元格的起始坐标和结束坐标
        min_col, min_row, max_col, max_row = merged_range.min_col, merged_range.min_row, merged_range.max_col, merged_range.max_row

        # 获取合并单元格的值(通常位于合并区域的左上角)
        value = sheet.cell(row=min_row, column=min_col).value

        # 将值填充到所有合并区域的单元格中
        for row in range(min_row, max_row + 1):
            for col in range(min_col, max_col + 1):
                sheet.cell(row=row, column=col).value = value
    return sheet

def read_and_process_excel(file_path):
    # 打开 Excel 文件
    workbook = openpyxl.load_workbook(file_path)
    sheet = workbook.active

    # 填充合并单元格的值
    sheet = fill_merged_cells(sheet)

    # 打印每个单元格的值
    for row in sheet.iter_rows():
        for cell in row:
            print(f"Cell {cell.coordinate} has value: {cell.value}")

# 示例 Excel 文件路径
file_path = 'path/to/your/excel/file.xlsx'

# 读取并处理 Excel 文件
read_and_process_excel(file_path)

六、结论

openpyxl 是一个功能强大的 Python 库,适用于处理 Excel 文件的各种需求。无论是简单的数据读写,还是复杂的样式和格式化操作,openpyxl 都能胜任。希望通过本文的介绍,你能够快速上手 openpyxl,并在你的项目中利用它的强大功能。

如果你对 openpyxl 感兴趣,可以参考以下资源:

通过这些资源,你可以深入了解 openpyxl 的更多高级功能和用法。

目录
相关文章
|
1月前
|
SQL 分布式计算 数据挖掘
从Excel到高级工具:数据分析进阶指南
从Excel到高级工具:数据分析进阶指南
137 54
|
2月前
|
人工智能 安全 Java
对比测评:AI编程工具需要 Rules 能力
通义灵码Project Rules是一种针对AI代码生成的个性化规则设定工具,旨在解决AI生成代码不精准或不符合开发者需求的问题。通过定义编码规则(如遵循SOLID原则、OWASP安全规范等),用户可引导模型生成更符合项目风格和偏好的代码。例如,在使用阿里云百炼服务平台的curl调用时,通义灵码可根据预设规则生成Java代码,显著提升代码采纳率至95%以上。此外,还支持技术栈、应用逻辑设计、核心代码规范等多方面规则定制,优化生成代码的质量与安全性。
429 115
|
30天前
|
人工智能 IDE 开发工具
寻找Cursor的替代品:10款AI编程工具深度评测与推荐·优雅草卓伊凡
寻找Cursor的替代品:10款AI编程工具深度评测与推荐·优雅草卓伊凡
1114 18
寻找Cursor的替代品:10款AI编程工具深度评测与推荐·优雅草卓伊凡
|
23天前
|
人工智能 自然语言处理 数据可视化
生成式AI如何重塑设计思维与品牌创新?从工具到认知革命的跃迁
生成式人工智能(GAI)正在深刻改变创意领域,从设计民主化到品牌创新的三重进化路径,它不仅重构了创作方式,还推动了个人能力模型的迭代。文章探讨了GAI如何通过语义—视觉转换打破传统思维框架,催生动态品牌系统,并促进生态共创。面对变革,创作者需掌握Prompt Engineering等技能,培养跨模态思维与系统设计能力。获取GAI认证则能帮助建立完整认知框架,适应增强型思维模式。这场技术革命并非终点,而是人类创造力新纪元的起点。
|
1月前
|
数据可视化 Rust 机器学习/深度学习
mlop.ai 无脑使用教程 (机器学习工具 WandB/ClearML 的首个国区开源平替)
mlop.ai 是首个为国区用户优化的机器学习工具,全栈免费开源,是主流付费解决方案 ClearML/WandB 的开源平替。常规实验追踪的工具经常大幅人为降速,mlop因为底层为Rust代码,能轻松支持高频数据写入。如需更多开发者帮助或企业支持,敬请联系cn@mlop.ai
106 12
mlop.ai 无脑使用教程 (机器学习工具 WandB/ClearML 的首个国区开源平替)
|
28天前
|
人工智能 算法 安全
使用CodeBuddy实现批量转换PPT、Excel、Word为PDF文件工具
通过 CodeBuddy 实现本地批量转换工具,让复杂的文档处理需求转化为 “需求描述→代码生成→一键运行” 的极简流程,真正实现 “技术为效率服务” 的目标。感兴趣的快来体验下把
69 10
|
24天前
|
人工智能 算法 自动驾驶
AI和大数据:是工具,还是操控人心的“隐形之手”?
AI和大数据:是工具,还是操控人心的“隐形之手”?
59 1
|
1月前
|
人工智能 自然语言处理 算法
炎鹊 • AI+行业工具创建平台
炎鹊是AI+行业应用工具创建平台,聚焦各行业深度业务场景需求。通过“行业知识注入+场景化微调”技术,基于垂直AI大模型与多模态推理能力,实现零代码创建定制化“智员体”(AI专业应用工具)。平台支持低代码开发、多模态输入输出、动态更新知识图谱及跨平台协作,具备持续学习进化机制。炎鹊推出的“智员体”数字员工可模拟人类思维逻辑,完成复杂任务,推动AI从辅助工具向协作主体演进,已在快消、教育、医疗等20+领域落地,助力企业构建智能组织形态。
113 11
|
1月前
|
存储 人工智能 安全
【实测分享】本地AI工具AiPy更新版本v0.1.28
AiPy是一款出色的本地AI工具,2025年5月21日发布v0.1.28版本。它以本地化处理保障数据隐私,新增Trustoken联网搜索、云端私密存储等功能,支持多模型选择如阿里Qwen与腾讯Hunyuan,优化任务处理逻辑,提升效率。操作便捷升级,新老用户均可轻松上手。未来还将推出GUI客户端2.0等新功能,值得期待!(下载地址:https://www.aipyaipy.com/#download)快来体验吧!
【实测分享】本地AI工具AiPy更新版本v0.1.28
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
八成职场人依赖AI工具下,“职业技能培训”的需求与应对策略
人工智能(AI)正深度重塑职场生态。数据显示,约八成职场人使用AI工具,00后互动频率最高。AI虽提升效率,但也带来技能退化风险。职业技能培训成为关键,如生成式人工智能认证(GAI认证)助力职场人掌握核心技术与应用方法。未来,职业技能培训与AI技术将共生共荣,推动职场人适应变革、实现成长。