Python如何使用Excel文件

使用Python操作Office——EXCEL
首先介绍下office win32 com接口,这个是MS为自动化提供的操作接口,比如我们打开一个EXCEL文档,就可以在里面编辑VB脚本,实现我们自己的效果。对于这种一本万利的买卖,Python怎么能放过,它内置了对于win32 com接口的支持,我们可以方便的控制。
要想熟悉使用office win32 com接口,没有什么比MS提供的API文档更加权威了。
下面我们以操作EXCEL文档为例:
一、对Excel文件进行写入操作:
#!/usr/bin/python3
# -*- coding:utf-8 -*-# 导入模块
import win32com.client# 打开Excel
Application = win32com.client.Dispatch("Excel.Application")
# 或者使用下面的方法,使用启动独立的进程:
# Application = win32com.client.DispatchEx("Excel.Application")# 后台运行,显示程序界面,不警告
Application.Visible = 1 # 调试阶段建议打开
Application.DisplayAlerts = 0# 新建一个文档
Workbook = Application.Workbooks.Add()# 打开一个文档
Workbook = Application.Workbooks.Open("F:\\test.xlsx")
# 根据工作表名
Base = Workbook.Worksheets("Sheet1")
# 根据工作表顺序
# Base = Workbook.Worksheets(1)# 接受当前工作表
# Base = Workbook.ActiveSheet# 添加内容: 0.0, 0.5, 1.0
Base.Cells(1, 1).Value = 'Values'
Base.Cells(1, 2).Value = 0.0
Base.Cells(1, 3).Value = 0.5
Base.Cells(1, 4).Value = 1.0Workbook.SaveAs("F:\\test.xlsx")# 关闭文档
Workbook.Close()# 退出Excel
Application.Quit()
二、对Excel文件进行读取操作:
#!/usr/bin/python3
# -*- coding:utf-8 -*-# 导入模块
import win32com.client# 打开Excel
Application = win32com.client.Dispatch("Excel.Application")
# 或者使用下面的方法,使用启动独立的进程:
# Application = win32com.client.DispatchEx("Excel.Application")# 后台运行,显示程序界面,不警告
Application.Visible = 1 # 调试阶段建设打开
Application.DisplayAlerts = 0# 打开一个文档
Workbook = Application.Workbooks.Open("F:\\test.xlsx")
Base = Workbook.Worksheets(1)# 接受当前工作表
Base = Workbook.ActiveSheet#列数
ncols = 0
while True:cell_value = Base.Cells(1, ncols + 1).Valueif cell_value:ncols += 1else:break# 行数
nrows = 0
while True:cell_value = Base.Cells(nrows + 2, 1).Value # 第一行表头if cell_value:for col in range(ncols):cell_key = Base.Cells(1, col + 1).Valuecell_value = Base.Cells(nrows + 2, col + 1).Valueprint(cell_key, "=>", cell_value, end = "\t")print("")nrows += 1else:break# 关闭文档
Workbook.Close()# 退出Excel
Application.Quit()
假设test.xlsx文件中的内容如下:

则,运行以上程序输出:
序号 => 1.0 姓名 => 张三 姓别 => 男 地址 => 北京 序号 => 2.0 姓名 => 李四 姓别 => 女 地址 => 上海 序号 => 3.0 姓名 => 王五 姓别 => 男 地址 => 南京
相关文章:
Python如何使用Excel文件
使用Python操作Office——EXCEL 首先介绍下office win32 com接口,这个是MS为自动化提供的操作接口,比如我们打开一个EXCEL文档,就可以在里面编辑VB脚本,实现我们自己的效果。对于这种一本万利的买卖,Python怎么能放过…...
前端基础:回顾es6相关知识
Author note(题记): ECMAscript is international standard of javascript。 ECMA 是 js的国际标准版语言。 let and const 为什么之前用var现在需要用let,const呢? 其实就是因为规范作用域的问题。var的作用域无块级 for (var i 0; i <…...
Hive条件函数详细讲解
Hive 中的条件函数允许你在查询中基于某些条件执行逻辑操作。以下是你提到的条件函数的详细讲解,包括案例和使用注意事项: IF() 功能:根据条件返回两个表达式中的一个。语法:IF(boolean_test, value_if_true, value_if_false)案例:SELECT IF(1=1, true, false); 结果为 tr…...
java应用CPU过高查找原因
用top查到占用cpu最高的进程pid 根据进程ID找到占用CPU高的线程 ps -mp 60355 -o THREAD,tid | sort -r 用 printf "%x \n" 将tid换为十六进制:xid printf "%x \n" 6036 根据16进制格式的线程ID查找线程堆栈信息 jstack 60355 |grep ebcb -A…...
RXJS中Subject, BehaviorSubject, ReplaySubject, AsyncSubject的区别?
在RxJS(Reactive Extensions for JavaScript)中,Subject、BehaviorSubject、ReplaySubject和AsyncSubject都是Observable的变体,它们用于处理观察者模式中的不同场景。以下是它们之间的主要区别: 1、Subject: 是一种特…...
【算法题】55. 跳跃游戏
题目 给你一个非负整数数组 nums ,你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标,如果可以,返回 true ;否则,返回 false 。 示例 1ÿ…...
工业企业能源管理平台,可以帮助企业解决哪些方面的能源问题?
随着全球工业化进程的加快,工业企业在生产经营过程中消耗的能源也越来越庞大。能源成本的上升和环境保护的压力使得工业企业对能源管理的重要性有了深刻的认识。为了提高能源利用效率、降低能源消耗、减少环境污染,工业企业在能源管理方面迫切需要一套规…...
LLM:Training Compute-Optimal Large Language Models
论文:https://arxiv.org/pdf/2203.15556.pdf 发表:2022 前文回顾: OpenAI在2020年提出《Scaling Laws for Neural Language Models》:Scaling Laws(缩放法则)也一直影响了后续大模型的训练。其给出的结论是最佳计算效…...
http跟https有什么区别?
HTTP(Hypertext Transfer Protocol)和HTTPS(HTTP Secure)是两种不同的通信协议,它们在数据传输的安全性方面有明显的区别: 1. 安全性: - HTTP:是一种明文传输协议,数…...
python flask学生管理系统
预览 前端 jquery css html bootstrap: 4.x 后端 python: 3.6.x flask: 2.0.x 数据库 mysql: 5.7 学生管理模块 登录、退出查看个人信息、修改个人信息成绩查询查看已选课程选课、取消选课搜索课程课程列表分页功能 教师模块 登录、退出查看个人信息、修改个人信息录入…...
IDC机房服务器搬迁之运行了几年的服务器没关过机,今天关机下架,再上架突然起不来了,怎么快速处理?
环境 戴尔R420 服务器 1U 2台直连存储 4U CentOS 7 问题描述 IDC机房服务器搬迁之运行了几年的服务器没关过机,今天关机下架,再上架突然起不来了,怎么快速处理? 服务器上电开机就出现进入紧急模式 Welcome to emergency mode! After logging in, type “journalctl …...
基于位的权限系统
基于位的权限系统是一种利用二进制位运算进行权限管理的技术。在这种系统中,不同的权限被编码为2的幂次方 (例如1、2、4、8等),每个权限对应一个独立的二进制位(可想而知运算速度是非常快的)。通过将这些权限值组合在一起形成一个…...
[AIGC] Spring Boot Docker 部署指南
Spring Boot Docker 部署指南 引言 近年来,容器化部署成为了越来越流行的部署方式。Docker 是目前最受欢迎的容器化平台之一,它提供了一种将应用程序与其依赖项打包在一起,并以容器的形式运行的方法。Spring Boot 是一种用于快速开发和微服…...
图像处理------亮度
from PIL import Imagedef change_brightness(img: Image, level: float) -> Image:"""按照给定的亮度等级,改变图片的亮度"""def brightness(c: int) -> float:return 128 level (c - 128)if not -255.0 < level < 25…...
LeetCode刷题---基本计算器
解题思路: 根据题意,字符串中包含的运算符只有和- 使用辅助栈的方法来解决该问题 定义结果集res和符号位sign(用于判断对下一数的加减操作),接着对字符串进行遍历。 如果当前字符为数字字符,判断当前字符的下一个字符是否也是数字字符&#x…...
Kafka生产消费流程
Kafka生产消费流程 1.Kafka一条消息发送和消费的流程图(非集群) 2.三种发送方式 准备工作 创建maven工程,引入依赖 <dependency><groupId>org.apache.kafka</groupId><artifactId>kafka-clients</artifactId><version>3.3.1…...
c 小熊猫 c++ IDE编译ffmpeg 设置
菜单-》运行-》运行参数->编译器->编译器配置集->链接时加入下列选项 : -I /usr/local/ffmpeg/include -L /usr/local/ffmpeg/lib -lavformat -lavdevice -lavfilter -lavcodec -lavutil -lswscale -lswresample -lm 本机ffmpeg存储位置:inclu…...
【Java】十年老司机转开发语言,新小白从学习路线图开始
欢迎来到《小5讲堂》 大家好,我是全栈小5。 这是《Java》序列文章,每篇文章将以博主理解的角度展开讲解, 特别是针对知识点的概念进行叙说,大部分文章将会对这些概念进行实际例子验证,以此达到加深对知识点的理解和掌握…...
5.3 Verilog 带参数例化
5.3 Verilog 带参数例化 分类 Verilog 教程 关键词: defparam,参数,例化,ram 当一个模块被另一个模块引用例化时,高层模块可以对低层模块的参数值进行改写。这样就允许在编译时将不同的参数传递给多个相同名字的模块…...
边缘计算的挑战和机遇
边缘计算是一种分布式计算框架,它将应用程序、数据和计算服务带离集中式数据中心,靠近用户和数据源的位置。这种方法可以减少延迟,提高服务速度,并可能改善数据安全性和隐私性。然而,边缘计算同时也面临着挑战…...
Fish-Speech-1.5在短视频生产的应用:批量生成多语种配音方案
Fish-Speech-1.5在短视频生产的应用:批量生成多语种配音方案 1. 引言 短视频内容创作正面临着一个普遍痛点:多语言配音成本高、周期长。传统方式下,一个MCN机构要为一条短视频制作中文、英文、日文三种语言的配音,需要分别联系不…...
小麦联合收割机的设计【说明书+SW三维+CAD图纸】
小麦联合收割机作为现代农业机械化的核心装备,其设计需兼顾效率、可靠性与适应性。该设备通过集成收割、脱粒、清选及集粮功能,实现小麦收获环节的连续作业,显著缩短田间作业周期,降低人工劳动强度。其核心作用体现在三方面&#…...
突破内容壁垒:5大核心优势解锁知识自由
突破内容壁垒:5大核心优势解锁知识自由 【免费下载链接】bypass-paywalls-chrome-clean 项目地址: https://gitcode.com/GitHub_Trending/by/bypass-paywalls-chrome-clean 在信息爆炸的数字时代,付费墙已成为获取优质内容的主要障碍。无论是学术…...
Linux系统管理必备:常用命令在Phi-3-vision模型部署与运维中的应用
Linux系统管理必备:常用命令在Phi-3-vision模型部署与运维中的应用 1. 前言:为什么需要掌握这些命令 部署和管理AI模型服务时,熟练使用Linux命令就像拥有了一把瑞士军刀。特别是对于Phi-3-vision这样的视觉大模型,从查看日志到监…...
AIVideo效果对比展示:不同参数下的视频生成质量评测
AIVideo效果对比展示:不同参数下的视频生成质量评测 1. 开场白:参数设置对视频效果的影响 你有没有遇到过这样的情况:用AI生成视频时,明明输入的内容一样,但出来的效果却天差地别?有时候画面模糊不清&…...
求人不如求己!小初高电子教材全套自取,鸡娃路上不迷路!
家有神兽的家长们,是不是经常遇到这种情况:孩子把课本忘在学校,作业没法写;想提前预习下学期的内容,却不知道去哪里找教材;或者想给孩子找点课外拓展资料,又怕买错版本……别急!我花…...
别再死记硬背了!用游戏地图和社交网络,5分钟搞懂BFS和DFS(附C++代码)
游戏化学习:用社交网络和迷宫探险理解BFS与DFS 想象一下你正在玩一款开放世界游戏,地图被战争迷雾笼罩。每次只能看到周围一小块区域,如何高效探索整个地图?或者回忆微信里"朋友的朋友"推荐功能,系统如何找到…...
别再死记硬背了!用Python可视化理解L-smooth函数与梯度Lipschitz连续
别再死记硬背了!用Python可视化理解L-smooth函数与梯度Lipschitz连续 第一次接触L-smooth这个概念时,我盯着数学公式看了整整一个下午——梯度Lipschitz连续、二次上界、等价性证明,每个词都认识,连起来却像天书。直到我用Python画…...
基于STM32的智能药箱系统开发实战:从硬件搭建到云端互联
1. 为什么需要智能药箱 记得去年我奶奶因为忘记吃药导致血压飙升住院,当时我就在想,如果能有个自动提醒吃药的装置该多好。后来发现这个问题其实困扰着很多家庭——据统计,65岁以上老年人中,有超过60%存在漏服、错服药物的情况。这…...
解决EF Core中的GroupBy与Include的冲突问题
在使用Entity Framework Core(EF Core)进行数据库操作时,我们常常会遇到一些复杂的查询需求,尤其是在涉及到数据的分组与关联加载时。今天我们来探讨一下如何在EF Core中处理GroupBy与Include方法的冲突。 问题描述 假设我们有一个产品数据库,包含产品(Products)、供应…...
