【Python基础】一文搞懂:Python 中 Excel 文件的写入与读取
文章目录
- 1 引言
- 2 使用 openpyxl
- 2.1 安装 openpyxl
- 2.2 写入 Excel 文件
- 2.3 读取 Excel 文件
- 3 使用 pandas
- 3.1 安装 pandas 和 openpyxl
- 3.2 写入 Excel 文件
- 3.3 读取 Excel 文件
- 4 实例演示
- 4.1 安装所需库
- 4.2 封装为excel_example.py脚本文件
- 5 注意事项
- 6 总结
1 引言
在现代办公自动化中,Excel 文件广泛应用于数据存储、分析和报告。Python 作为一个强大的编程语言,提供了多个库来处理 Excel 文件,其中最受欢迎的是 openpyxl
和 pandas
。本文将深入介绍如何在 Python 中使用这些库来读写 Excel 文件。
2 使用 openpyxl
openpyxl
是一个 Python 库,用于读写 Excel 2010 及以上版本的 xlsx/xlsm/xltx/xltm 文件。
2.1 安装 openpyxl
pip install openpyxl
2.2 写入 Excel 文件
from openpyxl import Workbook# 创建工作簿
wb = Workbook()
ws = wb.active# 添加数据
data = [['Name', 'Age', 'City'],['Alice', 30, 'New York'],['Bob', 25, 'Los Angeles']
]for row in data:ws.append(row)# 保存到文件
wb.save("example.xlsx")
2.3 读取 Excel 文件
from openpyxl import load_workbook# 加载工作簿
wb = load_workbook("example.xlsx")
ws = wb.active# 读取数据
for row in ws.iter_rows(values_only=True):print(row)
3 使用 pandas
pandas
是 Python 数据分析的核心库,提供了简单易用的数据结构和数据分析工具。
3.1 安装 pandas 和 openpyxl
pip install pandas openpyxl
3.2 写入 Excel 文件
import pandas as pd# 数据
df = pd.DataFrame({'Name': ['Alice', 'Bob'],'Age': [30, 25],'City': ['New York', 'Los Angeles']
})# 写入 Excel 文件
df.to_excel("example.xlsx", index=False)
3.3 读取 Excel 文件
# 读取 Excel 文件
df = pd.read_excel("example.xlsx")# 显示数据
print(df)
4 实例演示
以下是一个 Python 示例,演示如何使用 pandas
和 openpyxl
库来读取和写入 Excel 文件。这个示例将包括两个主要部分:使用 pandas
进行简单的 Excel 文件读写操作,以及使用 openpyxl
进行更细粒度的操作。我们将这些功能封装在一个名为 excel_example.py
的 Python 文件中。
4.1 安装所需库
在运行此脚本之前,请确保已经安装了 pandas
和 openpyxl
:
pip install pandas openpyxl
4.2 封装为excel_example.py脚本文件
import pandas as pd
from openpyxl import load_workbookdef write_excel_with_pandas(file_name, data):""" 使用 pandas 写入 Excel """df = pd.DataFrame(data)df.to_excel(file_name, index=False)def read_excel_with_pandas(file_name):""" 使用 pandas 读取 Excel """df = pd.read_excel(file_name)print(df)def read_excel_with_openpyxl(file_name):""" 使用 openpyxl 读取 Excel """workbook = load_workbook(filename=file_name)sheet = workbook.activefor row in sheet.iter_rows(values_only=True):print(row)def main():# 文件名file_name = 'example.xlsx'# 数据data = {'Name': ['Alice', 'Bob'],'Age': [30, 25],'City': ['New York', 'Los Angeles']}# 使用 pandas 写入 Excelwrite_excel_with_pandas(file_name, data)# 使用 pandas 读取 Excelprint("使用 pandas 读取 Excel:")read_excel_with_pandas(file_name)# 使用 openpyxl 读取 Excelprint("\n使用 openpyxl 读取 Excel:")read_excel_with_openpyxl(file_name)if __name__ == '__main__':main()
运行以上代码后控制台输出结果:
使用 pandas 读取 Excel:
Name Age City
0 Alice 30 New York
1 Bob 25 Los Angeles使用 openpyxl 读取 Excel:
(‘Name’, ‘Age’, ‘City’)
(‘Alice’, 30, ‘New York’)
(‘Bob’, 25, ‘Los Angeles’)
同时生成如下Excel文件:“example.xlsx”
在这个脚本中,我们定义了三个函数:write_excel_with_pandas
用于写入 Excel 文件,read_excel_with_pandas
和 read_excel_with_openpyxl
分别用于读取 Excel 文件。main
函数中整合了这些操作的流程。运行这个脚本将会创建一个名为 sample.xlsx
的文件,并在其中写入数据,然后使用两种不同的方法读取并打印出这些数据。
5 注意事项
- 当使用
openpyxl
时,可以更加细致地控制 Excel 文件的每个方面,如样式、图表等。 pandas
提供了更高级的数据处理能力,适合于复杂的数据分析任务。- 确保安装了最新版本的
openpyxl
和pandas
,以便使用最新的功能和修复。
6 总结
通过本文的介绍,您应该能够理解并开始在 Python 中使用 openpyxl
和 pandas
来处理 Excel 文件。无论是进行简单的数据记录还是复杂的数据分析,这些工具都将是您强大的助手。
希望这篇文章能帮助您理解和掌握 Python 中处理 Excel 文件的方法。如果您有任何疑问或建议,请在评论区留言,让我们共同进步!
作者:climber1121
链接:https://blog.csdn.net/climber1121
来源:CSDN
版权声明:本文为博主原创文章,转载请附上原文出处链接和本声明。
相关文章:

【Python基础】一文搞懂:Python 中 Excel 文件的写入与读取
文章目录 1 引言2 使用 openpyxl2.1 安装 openpyxl2.2 写入 Excel 文件2.3 读取 Excel 文件 3 使用 pandas3.1 安装 pandas 和 openpyxl3.2 写入 Excel 文件3.3 读取 Excel 文件 4 实例演示4.1 安装所需库4.2 封装为excel_example.py脚本文件 5 注意事项6 总结 1 引言 在现代办…...

二叉树题目:完全二叉树插入器
文章目录 题目标题和出处难度题目描述要求示例数据范围 解法思路和算法代码复杂度分析 题目 标题和出处 标题:完全二叉树插入器 出处:919. 完全二叉树插入器 难度 6 级 题目描述 要求 完全二叉树是每一层(除最后一层外)都…...

用MATLAB求最短路径(graphshortestpath)和求最小生成树(minspantree),代码演示
求最短路径(graphshortestpath),求最小生成树(minspantree) 文章目录 求最短路径(graphshortestpath),求最小生成树(minspantree)1、最短路径问题2、最小生成…...

用win系统搭建Minecraft世界服务器,MC开服教程,小白开服教程
雨云VPS用Windows系统搭建我的世界世界服务器,Minecraft开服教程,小白开服教程,MC 1.19.4版本服务器搭建教程。 此教程使用 Mohist 1.19.4 服务端,此服务端支持Forge模组和Bukkit/Spigot/Paper插件,如果需要开其他服务…...

MacOS安装Miniforge、Tensorflow、Jupyter Lab等(2024年最新)
大家好,我是邵奈一,一个不务正业的程序猿、正儿八经的斜杠青年。 1、世人称我为:被代码耽误的诗人、没天赋的书法家、五音不全的歌手、专业跑龙套演员、不合格的运动员… 2、这几年,我整理了很多IT技术相关的教程给大家࿰…...

iOS 应用上架指南:资料填写及提交审核
摘要 本文提供了iOS新站上架资料填写及提交审核的详细指南,包括创建应用、资料填写-综合、资料填写-IOS App和提交审核等步骤。通过本指南,您将了解到如何填写正确的资料,并顺利通过苹果公司的审核。 引言 在开发iOS应用后,将其…...

车速预测 | Matlab基于RBF径向基神经网络的车速预测模型(多步预测,尾巴图)
目录 效果一览基本介绍程序设计参考资料 效果一览 基本介绍 车速预测 | Matlab基于RBF径向基神经网络的车速预测模型(多步预测,尾巴图) 程序设计 完整程序和数据获取方式:私信博主回复Matlab基于RBF径向基神经网络的车速预测模型…...

MySQL 5.7.35下载安装使用_忘记密码_远程授权
文章目录 MySQL 5.7.35下载安装使用_忘记密码_远程授权MySQL下载地址mysql安装点击安装,最好以管理员身份运行选择自定义安装选择64位勾选启动自定义产品执行点击同意点击下一步点击执行下一步配置数据库端口号设置登录密码,如果密码忘记,下面…...

openGauss学习笔记-194 openGauss 数据库运维-常见故障定位案例-分析查询语句长时间运行的问题
文章目录 openGauss学习笔记-194 openGauss 数据库运维-常见故障定位案例-分析查询语句长时间运行的问题194.1 分析查询语句长时间运行的问题194.1.1 问题现象194.1.2 原因分析194.1.3 处理办法 openGauss学习笔记-194 openGauss 数据库运维-常见故障定位案例-分析查询语句长时…...

GoLang:gRPC协议的介绍以及详细教程,从Protocol开始
目录 编辑 引言 一、安装相关Go语言库和相关工具 1. 安装Go 2. 安装Protocol Buffers Compiler 2.1 Windows 2.1.1 下载 2.1.2 解压 2.1.3 环境变量 2. macOS 3. Linux 4. 验证安装 3. 安装gRPC-Go 4. 安装Protocol Buffers的Go插件 二、定义服务 三、生成Go…...
LeetCode-2645. 构造有效字符串的最少插入数
给你一个字符串 word ,你可以向其中任何位置插入 “a”、“b” 或 “c” 任意次,返回使 word 有效需要插入的最少字母数。 如果字符串可以由 “abc” 串联多次得到,则认为该字符串有效 。 示例 1: 输入:word “b” …...

ssm+vue的城投公司企业人事管理系统设计与实现(有报告)。Javaee项目,ssm vue前后端分离项目。
演示视频: ssmvue的城投公司企业人事管理系统设计与实现(有报告)。Javaee项目,ssm vue前后端分离项目。 项目介绍: 采用M(model)V(view)C(controller&#x…...

nginx基础面试题以及配置文件解析和命令控制
目录 1、nginx是什么 2、nginx的特点 3、为什么中国大陆有:百度、京东、新浪、网易、腾讯、淘宝等这么多用户使用nginx 4、nginx 的内部技术架构 上一期我们配置安装了nginx接着讲一下nginx配置文件的解析和nginx 命令控制 感谢观看!希望能够帮助到…...

全自动网页生成系统网站源码重构版
源码优点: 所有模板经过精心审核与修改,完美兼容小屏手机大屏手机,以及各种平板端、电脑端和360浏览器、谷歌浏览器、火狐浏览器等等各大浏览器显示。 免费制作 为用户使用方便考虑,全自动网页制作系统无需繁琐的注册与登入,直…...

【算法每日一练]-动态规划 (保姆级教程 篇16) #纸带 #围栏木桩 #四柱河内塔
目录 今日知识点: 计算最长子序列的方案个数,类似最短路径个数问题 四柱河内塔问题:dp[i]min{ (p[i-k]f[k])dp[i-k] } 纸带 围栏木桩 四柱河内塔 纸带 思路: 我们先设置dp[i]表示从i到n的方案数。 那么减法操作中ÿ…...

Grounding 模型 + SAM 报错
引入 Grounding 目标检测模型串联 SAM 从而实现实例分割任务,目前支持 Grounding DINO 和 GLIP 参考教程 MMDetection-SAM 如果是 Grounding DINO 则安装如下依赖即可 cd playground pip install githttps://github.com/facebookresearch/segment-anything.git pip…...

linux 网络基础配置
将Linux主机接入到网络,需要配置网络相关设置一般包括如下内容: 主机名 iP/netmask (ip地址,网关) 路由:默认网关 网络连接状态 DNS服务器 (主DNS服务器 次DNS服务器 第三个DNS服务器) 一、…...
leetcode-相同的树
100. 相同的树 使用递归的方法 # Definition for a binary tree node. # class TreeNode: # def __init__(self, val0, leftNone, rightNone): # self.val val # self.left left # self.right right class Solution:def isSameTree(self, p: …...
Leetcode17-好数对的数目(1512)
1、题目 给你一个整数数组 nums 。 如果一组数字 (i,j) 满足 nums[i] nums[j] 且 i < j ,就可以认为这是一组 好数对 。 返回好数对的数目。 示例 1: 输入:nums [1,2,3,1,1,3] 输出:4 解释:有 4 组好数对&am…...

Ubuntu22.04开机左上角下划线闪烁不开机
按下CtrlAltF2,打开TTY系统,然后通过用户名和密码登录,随后使用 sudo apt --fix-broken install 根据提示排除错误信息,然后使用apt安装lightdm安装就行。 tips:当使用EasyConnect的时候,你可能参考了下面这篇文章知…...
可靠性+灵活性:电力载波技术在楼宇自控中的核心价值
可靠性灵活性:电力载波技术在楼宇自控中的核心价值 在智能楼宇的自动化控制中,电力载波技术(PLC)凭借其独特的优势,正成为构建高效、稳定、灵活系统的核心解决方案。它利用现有电力线路传输数据,无需额外布…...

dedecms 织梦自定义表单留言增加ajax验证码功能
增加ajax功能模块,用户不点击提交按钮,只要输入框失去焦点,就会提前提示验证码是否正确。 一,模板上增加验证码 <input name"vdcode"id"vdcode" placeholder"请输入验证码" type"text&quo…...

【配置 YOLOX 用于按目录分类的图片数据集】
现在的图标点选越来越多,如何一步解决,采用 YOLOX 目标检测模式则可以轻松解决 要在 YOLOX 中使用按目录分类的图片数据集(每个目录代表一个类别,目录下是该类别的所有图片),你需要进行以下配置步骤&#x…...

零基础设计模式——行为型模式 - 责任链模式
第四部分:行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习!行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想:使多个对象都有机会处…...
JDK 17 新特性
#JDK 17 新特性 /**************** 文本块 *****************/ python/scala中早就支持,不稀奇 String json “”" { “name”: “Java”, “version”: 17 } “”"; /**************** Switch 语句 -> 表达式 *****************/ 挺好的ÿ…...

算法笔记2
1.字符串拼接最好用StringBuilder,不用String 2.创建List<>类型的数组并创建内存 List arr[] new ArrayList[26]; Arrays.setAll(arr, i -> new ArrayList<>()); 3.去掉首尾空格...

用机器学习破解新能源领域的“弃风”难题
音乐发烧友深有体会,玩音乐的本质就是玩电网。火电声音偏暖,水电偏冷,风电偏空旷。至于太阳能发的电,则略显朦胧和单薄。 不知你是否有感觉,近两年家里的音响声音越来越冷,听起来越来越单薄? —…...

【 java 虚拟机知识 第一篇 】
目录 1.内存模型 1.1.JVM内存模型的介绍 1.2.堆和栈的区别 1.3.栈的存储细节 1.4.堆的部分 1.5.程序计数器的作用 1.6.方法区的内容 1.7.字符串池 1.8.引用类型 1.9.内存泄漏与内存溢出 1.10.会出现内存溢出的结构 1.内存模型 1.1.JVM内存模型的介绍 内存模型主要分…...
「全栈技术解析」推客小程序系统开发:从架构设计到裂变增长的完整解决方案
在移动互联网营销竞争白热化的当下,推客小程序系统凭借其裂变传播、精准营销等特性,成为企业抢占市场的利器。本文将深度解析推客小程序系统开发的核心技术与实现路径,助力开发者打造具有市场竞争力的营销工具。 一、系统核心功能架构&…...

豆瓣图书评论数据分析与可视化
【题目描述】豆瓣图书评论数据爬取。以《平凡的世界》、《都挺好》等为分析对象,编写程序爬取豆瓣读书上针对该图书的短评信息,要求: (1)对前3页短评信息进行跨页连续爬取; (2)爬取…...