Python学习Excel库openpyxl

简介: Python学习Excel库openpyxl

Python库openpyxl是一个用于读取和写入Excel 2010 xlsx/xlsm/xltx/xltm文件的库。它允许你在程序中操作Excel工作簿,包括创建新的工作簿、打开现有工作簿、添加或删除工作表、修改单元格内容以及进行其他更复杂的操作。

以下是一些使用openpyxl的基本操作:

安装

首先,你需要通过pip安装openpyxl库:

pip install openpyxl

基本用法

打开一个现有的Excel文件

from openpyxl import load_workbook

# 加载指定路径下的 Excel 文件
wb = load_workbook(filename='example.xlsx')

# 获取所有的工作表名称
print(wb.sheetnames)

# 获取第一个工作表(索引为0)
sheet = wb['Sheet1']

# 获取单元格内容
cell_value = sheet['A1'].value
print(cell_value)

创建一个新的Excel文件并写入数据

from openpyxl import Workbook

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

# 获取活动工作表(默认是第一个工作表)
ws = wb.active

# 将值写入到特定单元格
ws['A1'] = 'Hello, World!'

# 保存工作簿到指定路径
wb.save('new_file.xlsx')

操作行和列

# 获取行的所有单元格
row_cells = ws[row_number]

# 获取列的所有单元格
column_cells = [c for c in ws.iter_cols(min_col=col_num, max_col=col_num)]

# 遍历行和列
for row in ws.iter_rows():
    for cell in row:
        print(cell.value)

更多高级操作

你可以使用openpyxl执行许多其他操作,例如样式设置、合并单元格、公式计算等。查看官方文档以获取详细信息:https://openpyxl.readthedocs.io/en/stable/

示例

假设你有一个名为data.xlsx的Excel文件,其中包含如下数据:

A B
1 2
3 4

以下代码将读取该文件,并在每个单元格的内容后加1,然后将结果保存到新的Excel文件中:

import openpyxl

# 加载已有的Excel文件
workbook = openpyxl.load_workbook("data.xlsx")
sheet = workbook.active

# 更新单元格内容
for row in sheet.iter_rows(values_only=True):
    for i, value in enumerate(row):
        sheet.cell(row=row[0].row, column=i + 1).value = value + 1

# 保存更改到新文件
workbook.save("updated_data.xlsx")

这个例子展示了如何使用openpyxl来处理简单的数据操作。对于更复杂的需求,可以查阅官方文档中的示例和API说明。

相关文章
|
1天前
|
Python
python pandas学习(一)
该代码段展示了四个主要操作:1) 删除指定列名,如商品id;2) 使用正则表达式模糊匹配并删除列,例如匹配订单商品名称1的列;3) 将毫秒级时间戳转换为带有时区调整的日期时间格式,并增加8小时以适应本地时区;4) 将列表转换为DataFrame后保存为Excel文件,文件路径和名称根据变量拼接而成。
12 3
|
1月前
|
数据可视化 数据挖掘 大数据
1.1 学习Python操作Excel的必要性
学习Python操作Excel在当今数据驱动的商业环境中至关重要。Python能处理大规模数据集,突破Excel行数限制;提供丰富的库实现复杂数据分析和自动化任务,显著提高效率。掌握这项技能不仅能提升个人能力,还能为企业带来价值,减少人为错误,提高决策效率。推荐从基础语法、Excel操作库开始学习,逐步进阶到数据可视化和自动化报表系统。通过实际项目巩固知识,关注新技术,为职业发展奠定坚实基础。
|
2月前
|
Python
Python学习的自我理解和想法(10)
这是我在千锋教育B站课程学习Python的第10天笔记,主要学习了函数的相关知识。内容包括函数的定义、组成、命名、参数分类(必须参数、关键字参数、默认参数、不定长参数)及调用注意事项。由于开学时间有限,记录较为简略,望谅解。通过学习,我理解了函数可以封装常用功能,简化代码并便于维护。若有不当之处,欢迎指正。
|
2月前
|
Python 容器
Python学习的自我理解和想法(9)
这是我在B站跟随千锋教育学习Python的第9天,主要学习了赋值、浅拷贝和深拷贝的概念及其底层逻辑。由于开学时间紧张,内容较为简略,但希望能帮助理解这些重要概念。赋值是创建引用,浅拷贝创建新容器但元素仍引用原对象,深拷贝则创建完全独立的新对象。希望对大家有所帮助,欢迎讨论。
|
2月前
|
存储 安全 索引
Python学习的自我理解和想法(8)
这是我在B站千锋教育学习Python的第8天,主要内容是元组。元组是一种不可变的序列数据类型,用于存储一组有序的元素。本文介绍了元组的基本操作,包括创建、访问、合并、切片、遍历等,并总结了元组的主要特点,如不可变性、有序性和可作为字典的键。由于开学时间紧张,内容较为简略,望见谅。
|
2月前
|
Python
Python学习的自我理解和想法(7)
学的是b站的课程(千锋教育),跟老师写程序,不是自创的代码! 今天是学Python的第七天,学的内容是集合。开学了,时间不多,写得不多,见谅。
|
测试技术 Python
python接口自动化测试 - openpyxl基本使用
python接口自动化测试 - openpyxl基本使用
162 0
|
23天前
|
存储 缓存 Java
Python高性能编程:五种核心优化技术的原理与Python代码
Python在高性能应用场景中常因执行速度不及C、C++等编译型语言而受质疑,但通过合理利用标准库的优化特性,如`__slots__`机制、列表推导式、`@lru_cache`装饰器和生成器等,可以显著提升代码效率。本文详细介绍了这些实用的性能优化技术,帮助开发者在不牺牲代码质量的前提下提高程序性能。实验数据表明,这些优化方法能在内存使用和计算效率方面带来显著改进,适用于大规模数据处理、递归计算等场景。
58 5
Python高性能编程:五种核心优化技术的原理与Python代码
|
2月前
|
Python
[oeasy]python055_python编程_容易出现的问题_函数名的重新赋值_print_int
本文介绍了Python编程中容易出现的问题,特别是函数名、类名和模块名的重新赋值。通过具体示例展示了将内建函数(如`print`、`int`、`max`)或模块名(如`os`)重新赋值为其他类型后,会导致原有功能失效。例如,将`print`赋值为整数后,无法再用其输出内容;将`int`赋值为整数后,无法再进行类型转换。重新赋值后,这些名称失去了原有的功能,可能导致程序错误。总结指出,已有的函数名、类名和模块名不适合覆盖赋新值,否则会失去原有功能。如果需要使用类似的变量名,建议采用其他命名方式以避免冲突。
52 14
|
2月前
|
分布式计算 大数据 数据处理
技术评测:MaxCompute MaxFrame——阿里云自研分布式计算框架的Python编程接口
随着大数据和人工智能技术的发展,数据处理的需求日益增长。阿里云推出的MaxCompute MaxFrame(简称“MaxFrame”)是一个专为Python开发者设计的分布式计算框架,它不仅支持Python编程接口,还能直接利用MaxCompute的云原生大数据计算资源和服务。本文将通过一系列最佳实践测评,探讨MaxFrame在分布式Pandas处理以及大语言模型数据处理场景中的表现,并分析其在实际工作中的应用潜力。
116 2

热门文章

最新文章

推荐镜像

更多