python 办公自动化------ excel文件的操作,读取、写入

一、excel文件的读取

需要安装的包:xlrd:读取;xlwt:写入;xlutils:分割、复制、筛选

sudo:表示以管理员身份运行命令(mac系统中使用)

>sudo pip install xlrd xlwt xlutils

示例文件: 

例1:读取sheet页的数量:

import xlrdwb = xlrd.open_workbook('./dataFile/testxls.xls')# sheet的数量
print('sheet 数量:', wb.nsheets)

运行结果:

C:\stq\study\pythonProject\venv\Scripts\python.exe C:\stq\study\pythonProject\excel_read.py 
sheet 数量: 3进程已结束,退出代码为 0

例2:读取sheet的名称

方法一:读取excel的所有sheet名称

wb = xlrd.open_workbook('./dataFile/testxls.xls')
print("sheets 名称:", wb.sheet_names())

运行结果:

C:\stq\study\pythonProject\venv\Scripts\python.exe C:\stq\study\pythonProject\excel_read.py 
sheets 名称: ['Sheet1', 'Sheet2', 'Sheet3']进程已结束,退出代码为 0

方法二:读取sheet名称

# 根据索引获取sheet名称
sh = wb.sheet_by_index(1)
print(sh.name)
# 根据名称获取
sh = wb.sheet_by_name('一班成绩')
print(sh.name)

运行结果:

C:\stq\study\pythonProject\venv\Scripts\python.exe C:\stq\study\pythonProject\excel_read.py 
二班成绩
一班成绩进程已结束,退出代码为 0

例3:读取表格中的内容

方法一:读取指定表格中指定行、指定列的内容

import xlrdwb = xlrd.open_workbook("./dataFile/testxls.xls")
sh = wb.sheet_by_index(0)print("sheet %s 有%s行,有%s列" % (sh.name, sh.nrows, sh.ncols))
# 打印第一行的内容
print("第一行的内容为", sh.row_values(0))
# 打印第二列的内容
print("第二列的内容为", sh.col_values(1))

运行结果:

C:\stq\study\pythonProject\venv\Scripts\python.exe C:\stq\study\pythonProject\excel_read.py 
sheet 一班成绩 有5行,有5列
第一行的内容为 ['姓名', '语文', '数学', '语文', '英语']
第二列的内容为 ['语文', 89.0, 88.0, 96.0, 97.0]进程已结束,退出代码为 0

方法二:读取指定表格中的内容

# 读取单元格操作
print('第2行第3列的内容为:', sh.cell(1,2))

运行结果:

C:\stq\study\pythonProject\venv\Scripts\python.exe C:\stq\study\pythonProject\excel_read.py 
第2行第3列的内容为: number:80.0进程已结束,退出代码为 0

二、excel文件的写入

方法一:写入sheet页名称

import xlwt# 创建Workbook对象
wb = xlwt.Workbook()# 添加sheet页
sh = wb.add_sheet('四班成绩')
sh = wb.add_sheet('五班成绩')
# 保存xls文件
wb.save('./dataFile/test_write.xls')

运行结果:

例1:在sheet页中指定单元格添加内容

方法一:

import xlwt# 创建Workbook对象
wb = xlwt.Workbook()# 添加sheet页
sh = wb.add_sheet("一班成绩")# 向表格的指定行指定列中添加内容
sh.write(0, 0, "姓名")
sh.write(0, 1, "一班")
sh.write(0, 2, "二班")
# # 保存xls文件
wb.save("./dataFile/test_write.xls")

运行结果:

方法二:循环在指定行的第几列中插入值

import xlwt# 创建Workbook对象
wb = xlwt.Workbook()# excel表格形式展示1-10的平方
sh = wb.add_sheet("平方值", cell_overwrite_ok=True)
sh.write(0, 0, "数字")
sh.write(0, 1, "平方值")# 1-9的9次循环
for i in range(1, 10):# 第i行的第1列输入ish.row(i).write(0, i)# 第i行的第2列输入i*i的值sh.row(i).write(1, i * i)
wb.save("./dataFile/test_write.xls")

运行结果:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/76789.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JAVA Web_定义Servlet2_学生登录验证Servlet

题目 页面StudentLogin.html中有一HTML的表单代码如下&#xff1a; <form action"studentLogin" method"post">学生姓名&#xff1a;<input type"text" name"stuName" value""><br>登录密码&#xff1a;…

爬虫: 一文掌握 pycurl 的详细使用(更接近底层,性能更高)

更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、PycURL概述1.1 PycURL介绍1.2 基本安装1.3 安装依赖(Linux/macOS)1.4 常用选项参考二、基本使用2.1 简单 GET 请求2.2 获取响应信息2.3 设置请求头2.4 超时设置2.5 跟随重定向三、高级功能3.1 POST 请求3.2 文件上…

利用 限制torch线程数与异步方法提升声纹识别效率

引言 声纹识别作为生物识别技术的重要分支,在安防、金融、智能助手等领域应用广泛。随着数据量的增长和应用场景的复杂化,提高声纹识别效率成为关键问题。本文将详细介绍如何通过 torch.set_num_threads 以及异步方法来优化声纹识别的性能。 声纹识别效率瓶颈分析 在声纹…

软考高级系统架构设计师-第12章 系统质量属性与架构评估

【本章学习建议】 根据考试大纲&#xff0c;本章不仅考查系统架构设计师单选题&#xff0c;预计考11分左右&#xff0c;而且案例分析和论文写作也是必考&#xff0c;对应第二版教材第8章&#xff0c;属于重点学习的章节。 12.1 软件系统质量属性 12.1.1 质量属性概念 软件系…

SecProxy - 自动化安全协同平台

本人为甲方安全人员&#xff0c;从事甲方工作近6年&#xff1b;针对在甲方平时安全工作的一些重复、复杂、难点的工作&#xff0c;思考如何通过AI、脚本、或者工具实现智能且自动化&#xff0c;于是花平时空闲时间准备将这些能力全部集中到一个平台&#xff0c;于是有了这个东西…

CSI-external-provisioner

main() 这段Go代码是一个CSI&#xff08;容器存储接口&#xff09;Provisioner&#xff08;供应器&#xff09;的实现&#xff0c;用于在Kubernetes集群中动态提供持久卷。代码涉及多个组件和步骤&#xff0c;下面是对关键部分的解释&#xff1a; 初始化和配置 命令行标志和…

react中通过 EventEmitter 在组件间传递状态

要在 Reply 组件中通过 statusChangeEvent 发送状态值&#xff0c;并在 Select 组件中接收这个状态值 status&#xff0c;你可以按照以下步骤实现&#xff1a; //Event.jsimport EventEmitter from events;export const statusChangeEvent new EventEmitter();// 工单状态切换…

1534. 统计好三元组

1534. 统计好三元组 - 力扣&#xff08;LeetCode&#xff09; 给你一个整数数组 arr &#xff0c;以及 a、b 、c 三个整数。请你统计其中好三元组的数量。 如果三元组 (arr[i], arr[j], arr[k]) 满足下列全部条件&#xff0c;则认为它是一个 好三元组 。 0 < i < j &l…

如何配置AWS EKS自动扩展组:实现高效弹性伸缩

本文详细讲解如何在AWS EKS中配置节点组&#xff08;Node Group&#xff09;和Pod的自动扩展&#xff0c;优化资源利用率并保障应用高可用。 一、准备工作 工具安装 安装并配置AWS CLI 安装eksctl&#xff08;EKS管理工具&#xff09; 安装kubectl&#xff08;Kubernetes命令…

FPGA_UART

1.UART 概述 &#xff08;通用异步收发传输器&#xff09; 1. 基本定义 UART&#xff08;Universal Asynchronous Receiver/Transmitter&#xff09;是一种常见的串行通信协议&#xff0c;用于在设备间通过异步串行通信传输数据。它不依赖独立的时钟信号&#xff0c;而是通过预…

openwrt软路由配置4--文件共享

1.安装samba opkg update opkg install luci-app-samba4安装好之后重启设备&#xff0c;系统界面服务下面会多一个network shares 2.创建磁盘分区并挂载到共享目录 openwrt刚刚安装的时候空间都是很小的&#xff0c;共享目录我是打算用来存放一些电影视频之类的大文件。所以我…

Vue ‘v-model‘ directives require the attribute value which is valid as LHS.

1、问题描述 在项目开发中&#xff0c;如果将el-checkbox组件的v-model指令改为使用三元表达式时&#xff0c;会报出【vue/valid-v-model】的错误&#xff0c;如下图所示&#xff1a; 2、分析原因 根据错误提示&#xff0c;是因为v-model指令始终把Vue实例的data视为数据真实…

基于 Qt 的 BMP 图像数据存取至 SQLite 数据库的实现

基于 Qt 的 BMP 图像数据存取至 SQLite 数据库的实现说明 本项目通过 Qt 框架实现了将 BMP 图像文件以二进制形式存入 SQLite 数据库&#xff0c;并可从数据库中读取还原为 BMP 图像文件的功能&#xff0c;适用于需要图像与结构化数据统一管理的场景。 整个流程分为两个主要部…

嵌入式基础(三)基础外设

嵌入式基础&#xff08;三&#xff09;基础外设 1.什么是UART&#xff1f;与USART有什么区别⭐⭐⭐ (1)什么是UART 通用异步收发传输器&#xff08;Universal Asynchronous Receiver/Transmitter)&#xff0c;通常称作UART。是一种异步全双工串行通信协议&#xff0c;它将要…

人力资源管理方向论文怎么写?

目录 一、人力资源管理方向论文选题 二、人力资源管理方向论文参考资料 随着经济的蓬勃发展&#xff0c;企业日益意识到引才、善用人才、留住人才对于业务发展的至关重要性。人力资源管理逐渐成为企业管理中的核心职能&#xff0c;其角色日益凸显。近年来&#xff0c;“人力资…

机器学习 从入门到精通 day_05

1. 线性回归 前面介绍了很多分类算法&#xff0c;分类的目标变量是标称型数据&#xff0c;回归是对连续型的数据做出预测。 标称型数据&#xff08;Nominal Data&#xff09;是统计学和数据分析中的一种数据类型&#xff0c;它用于分类或标记不同的类别或组别,数据点之间并没有…

神经子图同构计数

摘要 本文研究了一个新的图学习问题&#xff1a;学习计算子图同构。与其他传统的图学习问题&#xff0c;如节点分类和链接预测不同&#xff0c;子图同构计数是NP完全的&#xff0c;需要更多的全局推理来监督整个图。为了使其可扩展为大规模的图形和模式&#xff0c;我们提出了一…

开源模型应用落地-模型上下文协议(MCP)-第三方MCP Server实战指南(五)

一、前言 在AI技术高速发展的2025年,如何让大语言模型(LLM)更灵活地调用外部工具与数据,成为开发者关注的焦点。​模型上下文协议(MCP)​作为AI与外部资源的“万能接口”,通过标准化交互框架解决了传统集成中的碎片化问题。而第三方MCP Server的引入,进一步降低了开发门…

【2025年认证杯数学中国数学建模网络挑战赛】C题 数据预处理与问题一二求解

目录 【2025年认证杯数学建模挑战赛】C题数据预处理与问题一求解三、数据预处理及分析3.1 数据可视化3.2 滑动窗口相关系数统计与动态置信区间耦合分析模型3.3 耦合关系分析结果 四、问题一代码数据预处理问题一 【2025年认证杯数学建模挑战赛】C题 数据预处理与问题一求解 三…

AI Agent开发大全第二十八课-MCP实现本地命令调用怎么做的?

开篇 MCP很强大,Client端一旦实现了稳定的连接和执行流程后任Server端随意改动都可兼容,这就是热插拨功能。 如果我们仅仅满足于MCP查点网上资料、读点图片即文字型的功能肯定是不能充分发挥MCP的强大之处的,正应了Google以及Anthropic最近的研究报告上说的:不要再在chat…