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

python文本处理openpyxl库安装与使用

openpyxl 是一个用于读取和写入 Excel 2010 xlsx/xlsm/xltx/xltm 文件的 Python 库。它非常适合处理电子表格数据,支持创建新工作簿、修改现有工作簿以及提取信息等操作。

安装

首先,你需要安装 openpyxl 库。可以通过 pip 来完成安装:


pip install openpyxl

使用示例

下面是一些基本的操作示例,包括如何使用 openpyxl 创建新的 Excel 工作簿、向其中添加数据以及从现有的 Excel 文件中读取数据。

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

from openpyxl import Workbook

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

# 获取活动的工作表,默认情况下会自动创建一个名为'Sheet'的工作表
ws = wb.active

# 更改工作表的名字
ws.title = "Data"

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

# 保存文件
wb.save("sample.xlsx")

这段代码创建了一个新的 Excel 文件,并在 A1 和 B1 单元格中分别写入了 "Hello" 和 "World"。

2. 从现有的 Excel 文件中读取数据

假设你有一个名为 data.xlsx 的文件想要读取其内容。


from openpyxl import load_workbook

# 加载现有的工作簿
wb = load_workbook("data.xlsx")

# 选择工作簿中的某个工作表
ws = wb["Sheet1"]  # 假设你的工作表名称是 "Sheet1"

# 读取特定单元格的数据
cell_value = ws['A1'].value
print(f"Cell A1 value: {cell_value}")

# 也可以遍历整个工作表
for row in ws.iter_rows(values_only=True):
    print(row)

这里展示了如何加载一个已有的 Excel 文件,并从中读取数据。通过 iter_rows 方法可以方便地遍历所有行的内容。

3. 修改现有 Excel 文件

如果你想修改一个已经存在的 Excel 文件而不是从头开始创建一个新的文件,过程非常相似:


from openpyxl import load_workbook

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

# 选择要编辑的工作表
ws = wb["Sheet1"]

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

# 或者添加新行
ws.append(["Row1", "Column1", "Column2"])

# 保存更改
wb.save("updated_file.xlsx")

这个例子演示了如何打开一个文件,更新一些值,然后将这些更改保存回磁盘。

如果你对 openpyxl 有更具体的需求或遇到了任何问题,请随时告诉我,我很乐意提供进一步的帮助!

相关文章:

  • 江科大51单片机笔记【9】DS1302时钟可调时钟(下)
  • 【五.LangChain技术与应用】【25.LangChain RAG检索器与完整案例:实战中的RAG应用】
  • Mac同时安装jdk8和jdk17,默认选择jdk8
  • 计算机组成与系统结构—袁春风阅读笔记(一)
  • 博查搜索API日调用量突破3000万次,达到Bing API的1/3。
  • 论文粗读——Isometric 3D Adversarial Examples in the Physical World
  • 【CSS】---- 纯 CSS 实现无限滚动轮播
  • Linux下AWK命令使用方法
  • JavaScript中的Math()
  • SpringBoot优雅关机,监听关机事件,docker配置
  • gbase8s数据库检测非法字符
  • VSCode 配置优化指南:打造高效的 uni-app、Vue2/3、JS/TS 开发环境
  • JS—组成:2分钟掌握什么是ECMAScript操作,什么是DOM操作,什么是BOM操作
  • 在Blender中给SP分纹理组
  • GStreamer —— 2.6、Windows下Qt加载GStreamer库后运行 - “教程6:媒体格式和Pad功能“(附:完整源码)
  • 基于Spring Boot的多级缓存架构实现
  • C++学习(十四)(使用库)
  • JVM详解
  • C# 开发工具Visual Studio下载和安装
  • vue3中子组件获取父组件的name,父组件不做修改动作
  • 第十一届世界雷达展开幕,尖端装备、“大国重器”集中亮相
  • 芬兰西南部两架直升机相撞坠毁,第一批救援队已抵达现场
  • 上海公办小学验证今起开始,下周一和周二分区进行民办摇号
  • 小米汽车回应部分SU7前保险杠形变
  • 下周或迎外贸“抢出口”高峰,跨境电商敏感货物如何便利化“登机”?
  • 混乱的5天:俄乌和谈如何从充满希望走向“卡壳”