如何使用 Python 读取 Excel 文件:从零开始的超详细教程

news2024/11/16 5:59:24

“日出东海落西山 愁也一天 喜也一天 遇事不钻牛角尖”

文章目录

  • 前言
    • 文章有误敬请斧正 不胜感恩!||Day03
    • 为什么要用 Python 读取 Excel 文件?
    • 准备工作:安装所需工具
      • 安装 Python
      • 安装 Pandas
      • 安装 openpyxl
    • 使用 Pandas 读取 Excel 文件
      • 什么是 Pandas?
      • 读取 Excel 文件的简单示例
      • 查看数据的前几行
      • 选择特定工作表
      • 只读取部分列
      • 跳过特定行
    • 使用 openpyxl 读取 Excel 文件
      • 安装 openpyxl
      • 读取 Excel 文件的示例
    • 使用 xlwings 操作 Excel 文件
      • 安装 xlwings
      • 使用 xlwings 读取 Excel
    • 选择最适合的工具
  • 总结


前言

今天讲什么?:

Excel 文件是我们日常数据处理和管理中常见的工具,尤其是在学校、工作和日常生活中都非常有用。无论是用来做数据统计、制作报表,还是进行分析,Excel 文件都非常方便。而 Python 是一门强大的编程语言,可以帮助我们快速读取和处理 Excel 文件中的数据。这篇文章会详细讲解,如何使用 Python 来读取 Excel 文件。
在数学建模中,C题的数据处理部分更是离不开他。
今天,我们就一起从零开始如何使用 Python 读取 Excel 文件。


文章有误敬请斧正 不胜感恩!||Day03

在这里插入图片描述

提示:以下是本篇文章正文内容,


为什么要用 Python 读取 Excel 文件?

在 Excel 文件较少、较简单时,手动打开文件并处理可能是不错的选择。但如果数据量大,或者需要重复进行操作时,用编程来自动处理 Excel 文件就显得非常高效了。Python 是一门功能强大且易学的语言,借助它的各种工具库,我们可以非常轻松地读取、修改甚至创建 Excel 文件。

接下来,我会一步步教大家如何使用 Python 读取 Excel 文件。

准备工作:安装所需工具

在开始之前,我们需要先安装 Python 和一些必要的工具库。Python 自身并不能直接读取 Excel 文件,但借助一些强大的库,我们可以轻松实现这个目标。接下来介绍最常用的工具库。

安装 Python

首先,如果你的电脑还没有安装 Python,你可以去 Python 官方网站 下载并安装。
在这里插入图片描述

安装 Pandas

Pandas 是一个非常流行的 Python 库,它让我们可以像操作 Excel 一样操作数据。要使用 Pandas,首先需要安装它。打开命令行窗口(Windows 的 CMD 或者 macOS 的 Terminal),然后输入以下命令进行安装:

pip install pandas

在这里插入图片描述
或者也可以在IDE中找到
在这里插入图片描述

安装 openpyxl

有时候,Pandas 需要借助 openpyxl 来处理 Excel 文件,尤其是 .xlsx 格式的文件,所以我们也需要安装它:

pip install openpyxl

在这里插入图片描述

安装好这些工具后,我们就可以开始编写代码来读取 Excel 文件了!
在这里插入图片描述
在这里插入图片描述

使用 Pandas 读取 Excel 文件

什么是 Pandas?

Pandas 是一个专门用来处理数据的库。它非常适合用于处理 Excel 这样的表格数据。读取 Excel 文件后,Pandas 会把数据转换成类似于表格的格式,称为 DataFrame,让我们可以轻松地进行查看、修改和分析。

读取 Excel 文件的简单示例

假设你有一个名为 data.xlsx 的 Excel 文件,里面有一些数据。我们可以通过以下代码来读取这个文件:
在这里插入图片描述

import pandas as pd  # 引入 pandas 库

# 使用 pandas 读取 Excel 文件
df = pd.read_excel('data.xlsx')

# 输出读取的数据
print(df)

这段代码的工作原理很简单:

  1. 首先,我们引入了 pandas 库,并将它命名为 pd 以方便调用。
  2. 使用 pd.read_excel('文件名') 读取 Excel 文件。文件名可以是相对路径,也可以是绝对路径。
  3. df 是读取后的数据对象,称为 DataFrame。我们可以把它理解为一个电子表格或表格数据。
  4. 使用 print(df) 可以输出整个表格。
    在这里插入图片描述

查看数据的前几行

有时候,Excel 文件可能会非常大,直接打印全部内容不太方便。我们可以使用 .head() 方法来只查看前几行数据:

print(df.head())  # 查看前5行数据

选择特定工作表

如果 Excel 文件里有多个工作表,Pandas 默认会读取第一个工作表。如果你想读取其他工作表,可以使用 sheet_name 参数指定工作表的名称:

df = pd.read_excel('data.xlsx', sheet_name='Sheet2')

这里,Sheet2 是工作表的名字。如果你不知道工作表的名字,也可以用索引数字,比如第一个工作表是 0,第二个工作表是 1,依此类推:

df = pd.read_excel('data.xlsx', sheet_name=1)  # 读取第二个工作表

只读取部分列

如果 Excel 文件中有很多列,但你只需要其中的几列数据,可以通过 usecols 参数选择特定的列。例如:

df = pd.read_excel('data.xlsx', usecols=['A', 'C'])  # 只读取 A 列和 C 列

这样你就可以只读取那些对你有用的列,省去不必要的内容。

跳过特定行

有时候,Excel 文件的前几行可能是标题或者一些无用的信息。你可以使用 skiprows 参数跳过这些行:

df = pd.read_excel('data.xlsx', skiprows=2)  # 跳过前2行

这就会从第 3 行开始读取数据。

使用 openpyxl 读取 Excel 文件

Pandas 是最常用的工具,但如果,想更灵活地读取和修改 Excel 文件内容,openpyxl 是另一个不错的选择。它可以直接操作 Excel 文件里的数据、样式、公式等。

安装 openpyxl

如果你还没有安装 openpyxl,可以通过以下命令来安装:

pip install openpyxl

读取 Excel 文件的示例

以下是使用 openpyxl 读取 Excel 文件的简单代码:

import openpyxl

# 打开 Excel 文件
wb = openpyxl.load_workbook('data.xlsx')

# 选择一个工作表
sheet = wb['Sheet1']

# 读取某个单元格的值
cell_value = sheet['A1'].value
print(cell_value)

# 读取多行数据
for row in sheet.iter_rows(min_row=1, max_row=5, values_only=True):
    print(row)
  • load_workbook 用于打开 Excel 文件。
  • sheet['A1'].value 用于获取 A1 单元格的值。
  • iter_rows 用于遍历多个单元格,比如上面的代码会打印前 5 行的数据。

使用 xlwings 操作 Excel 文件

如果我们需要与 Excel 应用程序直接交互(比如让 Excel 打开、显示并处理数据),或者类似操作。我们就可以使用 xlwings 这个库。
它甚至可以运行 VBA 宏,非常适合在需要大量操作 Excel 时使用。

安装 xlwings

pip install xlwings

使用 xlwings 读取 Excel

以下是使用 xlwings 读取 Excel 文件的简单代码:

import xlwings as xw

# 启动 Excel 应用程序
app = xw.App(visible=False)  # 设置为 False 时,Excel 不会在屏幕上显示

# 打开 Excel 文件
wb = xw.Book('data.xlsx')

# 选择工作表
sheet = wb.sheets['Sheet1']

# 读取 A1 单元格的值
cell_value = sheet.range('A1').value
print(cell_value)

# 关闭 Excel
wb.close()
app.quit()
  • xw.App(visible=False) 可以让 Excel 在后台运行,而不显示在桌面上。如果你想看到 Excel 操作,可以把 visible 改为 True
  • range('A1').value 获取 A1 单元格的值。
  • 在我们实际应用时,就应该根据我们自己的情况,来选定。

选择最适合的工具

在 Python 中,不同的工具适合不同的场景,读取 Excel 文件有很多种方式,例如:

  • Pandas:万金油:适合大多数数据分析任务,快速读取和处理 Excel 数据。

  • openpyxl:复杂处理:适合需要对 Excel 文件进行复杂操作(如修改样式、编辑单元格)的场景。

  • xlwings:交互大王:适合与 Excel 应用程序交互,特别是在需要打开 Excel 并操作时。

总结

通过本文的介绍,我们学习了使用 Python 读取 Excel 文件的几种常用方法。

不管是在I/O中的简单的数据读取,还是复杂的 Excel 操作,Python 都能提供强大的工具帮助你处理这些任务。
哈哈

我们python真是世界上最好的语言.java

除此之外,根据我们的需求选择合适的库,既能提高效率,也能避免手动操作中的繁琐和错误。

希望这篇文章能帮助到大家来更好地掌握 Python 读取 Excel

文章如有错误是小生才疏学浅,还望各位看官海涵!

有问题欢迎各位多多评论交流。

我们下一篇再见!


在这里插入图片描述

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

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

相关文章

归并排序-非递归实现

归并排序的非递归实现 我们可以把 一个数组 先拆分成 最小单元,这是分, 拆分成最小单元之后,我们对每个最小单元进行一次合并,这是治 最小单元 合并一次之后,我们继续 在上一次合并的基础上拆分,并且合…

心觉:你为什么没有更多的钱

很多人希望自己可以赚更多的钱 但是他的内心又很讨厌钱,他自己并不知道 一边希望自己赚更多钱,一边在骨子里觉得“金钱是万恶之源” 这是一种神经质的错乱 这种现象在什么情况下会表现得比较明显呢? 某位高官因为贪污受贿落马了&#xf…

Cesium坐标系

针对作坐标系这边参考网上以及自己的一些理解大家可以参考学习一下。 文章目录 **一、GIS 坐标系****二、经纬度坐标(球面坐标)****三、地理坐标(弧度)****四、屏幕坐标系****五、空间直角坐标系****六、Cesium 中的坐标系****七、…

【C++模版初阶】——我与C++的不解之缘(七)

一、泛型编程 在之前,我们想要实现一个交换两个值的函数,我们要实现好多个(int类型、double类型、char类型以及自定义类型)对于每一个类型,我们都需要实现一个交换函数: int Swap(int& x, int& y)…

【Qt】仿照qq界面的设计

widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QDebug>//QT中信息调试类&#xff0c;用于输出数据&#xff0c;无需使用该类的实例化对象&#xff0c;直接使用成员函数即可 #include <QIcon>//图标类 #include <QPushButton&…

【笔记】数据结构刷题09

快速排序 215. 数组中的第K个最大元素 class Solution { public:int findKthLargest(vector<int>& nums, int k) {return divide(nums,0,nums.size()-1,nums.size()-k);}int divide(vector<int>& nums,int left,int right,int k){if(leftright)return nums…

Linux 如何将pwd的结果同步复制到剪贴板

pwd是我们经常使用的一个命令&#xff0c;它的作用是显示当前所在路径。 不过&#xff0c;很多时候我们使用pwd命令不仅仅是查看当前路径&#xff0c;而是复制路径。 通常情况下&#xff0c;使用pwd命令进行复制路径的操作如下&#xff1a; 使用pwd显示路径&#xff08;键盘…

计算机毕业设计选题推荐-健康健身追踪系统-运动健身系统-Java/Python项目实战

✨作者主页&#xff1a;IT毕设梦工厂✨ 个人简介&#xff1a;曾从事计算机专业培训教学&#xff0c;擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Py…

00Mac安装playwright

文章目录 前言一、执行以下命令安装二、安装如果报错zsh: command not found: pip三、安装浏览器驱动 前言 现在常用的三个自动化测试&#xff08;或者爬虫&#xff09;库&#xff0c;是Selenium、Puppeteer、Playwright。Playwright是未来趋势&#xff0c;主要学习Playwright…

资料分析笔记(花生)

preparation 资料分析首先最重要的是时间/时间段分小互换 一、速算技巧 加法技巧 1.尾数法 在多个数字精确求和或求差时&#xff0c;从“尾数”入手&#xff0c;为保证精确与速度&#xff0c;一般可观察两位。 求和题目中&#xff0c;若四个选项中后两位都不同&#xff0c;…

小琳Python课堂:深入理解Python对象:状态、创建与管理

大家好&#xff0c;这里是小琳Python课堂。今天我们继续深入理解Python对象的状态、创建与管理。让我们一起来探索这些概念&#xff0c;以帮助你更好地掌握Python编程。 一、Python对象的状态 1. 实例属性与类属性 Python对象的属性分为实例属性和类属性。实例属性是对象独有…

TRIZ在充电桩安全中的应用探究

在当今电动汽车日益普及的时代&#xff0c;充电桩的安全问题至关重要。TRIZ&#xff08;发明问题解决理论&#xff09;可以为提升充电桩的安全性提供强大助力。具体步骤如深圳天行健企业管理咨询公司下文所述&#xff1a; 一、充电桩安全面临的问题 1.电气安全风险&#xff1a…

Ansys Zemax 高级实战(HUD)开启光学新征程

亲爱的光学设计爱好者们&#xff1a; 你是否渴望在车载 HUD 设计领域大展身手&#xff1f;是否想深入了解 Ansys Zemax 的强大功能和应用技巧&#xff1f;现在&#xff0c;机会来了&#xff01; 我们将于 2024年10月24日至25日 举办为期两天的 Ansys Zemax 高级实战&#xff…

深度学习--对抗生成网络(GAN, Generative Adversarial Network)

对抗生成网络&#xff08;GAN, Generative Adversarial Network&#xff09;是一种深度学习模型&#xff0c;由Ian Goodfellow等人在2014年提出。GAN主要用于生成数据&#xff0c;通过两个神经网络相互对抗&#xff0c;来生成以假乱真的新数据。以下是对GAN的详细阐述&#xff…

【原创】java+swing+mysql简易员工管理系统设计与实现

个人主页&#xff1a;程序员杨工 个人简介&#xff1a;从事软件开发多年&#xff0c;前后端均有涉猎&#xff0c;具有丰富的开发经验 博客内容&#xff1a;全栈开发&#xff0c;分享Java、Python、Php、小程序、前后端、数据库经验和实战 文末有本人名片&#xff0c;希望和大家…

web登录校验

基础登录功能 LoginController PostMapping("/login")Result login(RequestBody Emp emp) {log.info("前端&#xff0c;发送了一个登录请求");Emp e empService.login(emp);return e!null?Result.success():Result.error("用户" "名或密…

isxdigit函数讲解 <ctype.h>头文件函数

目录 1.头文件 2.isxdigit函数使用 方源一把抓住VS2022&#xff0c;顷刻 炼化&#xff01; ​​​​​​​ 1.头文件 以上函数都需要包括头文件<ctype.h> &#xff0c;其中包括 isxdigit 函数 #include<ctype.h> 2.isxdigit函数使用 isxdigit 函数是判断字符…

Leetcode Hot 100刷题记录 -Day10(合并区间)

合并区间 问题描述&#xff1a; 以数组 intervals 表示若干个区间的集合&#xff0c;其中单个区间为 intervals[i] [starti,endi] 。请你合并所有重叠的区间&#xff0c;并返回 一个不重叠的区间数组&#xff0c;该数组需恰好覆盖输入中的所有区间 。 示例 1&#xff1a; 输入&…

vscode从本地安装插件

1. 打开VSCode。 2. 点击左侧菜单中的“扩展”&#xff08;或按CtrlShiftX&#xff09;。 3. 点击“更多操作”&#xff08;三个点&#xff09;> “从VSIX安装”。 4. 选择下载的.vsix文件。 5. 点击“安装”即可安装插件。

IstoreOS安装的1Panel无法安装应用

IstoreOS安装的1Panel无法安装应用&#xff0c;无法安装OpenResty&#xff0c;创建Docker提示文件不存在 这个路径&#xff1a; /root/Configs/1Panel/1panel/apps/openresty/openresty/www /root/Configs/1Panel/1panel/apps/openresty/openresty/1pwaf/data /root/Configs/…