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

Python操作Excel——openpyxl使用笔记(1)

0. 模块的安装

使用命令:

pip install openpyxl

通过命令:

pip show openpyxl

检查安装,当前使用的版本信息如下:


1. 文档的基本操作

1.1 创建,保存和关闭

几个简单的函数调用即可:

import openpyxl
wb = openpyxl.Workbook()
wb.save("test.xlsx")
wb.close()

执行此脚本将在同目录下创建一个名为test.xlsx的表格文件。


1.2 打开已有文件

使用open函数打开已存在的xlsx文件:

import openpyxl
wb = openpyxl.open('./test.xlsx')
sheet = wb.active
sheet.title = 'by_python'
sheet['A1'] = 'Hello'
wb.save('./test.xlsx')
wb.close()

在解释代码之前,补充一点点xlsx文件的知识,就是一个xlsx文件就是一个工作簿,英文为workbook,然后一个工作簿中包括了1个或者多个工作表,英文名为worksheet,当前使用的工作表叫做活动工作表,最后,一个工作表中包含了很多个的单元格,英文名称是cell,单元格通过行列索引定位,列用字母,二行用数字,例如“A1”表示第一行第一列的单元格,而“C4”表示第三列第四行的单元格。

上面的代码打开了一个已经存在的工作簿,然后向活动工作表中的A1单元格写入了字符串“Hello”,最后保存。打开可以看到内容确实产生了改变。

注意:访问文件前需要确认文件是否存在,如果文件不存在,会报错:

FileNotFoundError: [Errno 2] No such file or directory: './test1.xlsx'

另外,如果文件被Excel打开了,此时会出现错误:

PermissionError: [Errno 13] Permission denied: './test.xlsx'

因此在使用时务必小心。

当然,如果只读取这个excel文件,则可以使用只读模式:

import openpyxl
wb = openpyxl.open('./test.xlsx', read_only=True)
ws = wb.active
print(ws['A1'].value)
wb.close()

在这种情况下,即使文件被Excel打开了,也不会影响脚本的执行。


http://www.kler.cn/a/511675.html

相关文章:

  • 消息队列篇--原理篇--RocketMQ(NameServer,Broker,单机上每秒处理数百万条消息性能)
  • 创建一个简单的spring boot+vue前后端分离项目
  • Ubuntu 24.04 LTS 安装 tailscale 并访问 SMB共享文件夹
  • Mousetrap:打造高效键盘快捷键体验的JavaScript库
  • 最新版Edge浏览器加载ActiveX控件技术——allWebPlugin中间件之awp_CreateActiveXObject接口用法
  • 解锁辅助驾驶新境界:基于昇腾 AI 异构计算架构 CANN 的应用探秘
  • matlab实现了一个完整的语音通信系统的模拟,包括语音信号的读取、编码(PCM 和汉明码)、调制
  • redux 结合 @reduxjs/toolkit 的使用
  • 【机器学习实战入门】泰坦尼克号生存预测
  • matlab实现一个雷达信号处理的程序,涉及到对原始图像的模拟、加权、加噪以及通过迭代算法对图像进行恢复和优化处理
  • 三格电子——CAN转WIFI网关
  • Web安全|渗透测试|网络安全
  • oracle 的物化视图介绍
  • 小白误入(需要一定的vue基础 )使用node建立服务器——vue前端登录注册页面连接到数据库
  • Linux系统服务管理
  • 基于VSCODE+GDB+GDBSERVER远程单步调试设备篇(可视化界面)
  • 哈尔滨有双线服务器租用吗?
  • Redis 学习指南与资料分享
  • 26个开源Agent开发框架调研总结(二)
  • 基于单片机的开关电源设计(论文+源码)
  • 麒麟LINUX V10SP3 2401安装ORACLE 12.2.1 runInstaller直接报UNZIP格式不对
  • 如何通过 Nginx 实现 CouchDB 集群的负载均衡并监控请求分发
  • pthread_create函数
  • DeviceNet转Profinet网关+FANUC机器人:打造工业界的灭霸手套,掌控无限可能
  • owasp SQL 注入测试-01 (准备工作)
  • Jmeter 动态参数压力测试时间段预定接口