ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 3453|回复: 13

[ Excel-Python ] -4:用 Python 读取 Excel 工作表

[复制链接]

TA的精华主题

TA的得分主题

发表于 2021-6-6 22:06 | 显示全部楼层 |阅读模式
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 Hi-Frank 于 2021-6-9 17:15 编辑

用 Python 读取 Excel 工作表



1. 简单回顾

在上一帖中,我们演示了如何用 Python 读取 Excel 文件。代码如下:
  1. import pandas as pd
  2. df = pd.read_excel(r'd:/demo/orders1.xlsx')
复制代码
上述代码:
第1行,引入 Python 的数据分析模块 Pandas ;
第2行,使用 Pandas 的 read_excel()方法,将一个名为 orders1.xlsx 的 Excel 文件读入到一个名为 df 的变量中;
第3行,显示 df 的内容。
这时即可显示Excel文件的内容了。
以上是对上一帖的回顾,具体截图见上一帖 [ Excel-Python ] -3:准备一个写 Python 的环境:Jupyter




2. 读取指定工作表

如果按照上面的方法,那么,问题来了:如果一个 Excel 文件(即一个工作簿),有多个 sheet(即工作表)呢?怎么办?
例如,有一个 Excel 文件,有三个 sheet: 订单、价格表、供应商,如下所示。(案例文件见附件 orders2.zip)

image.jpg

我们来试一下:
  1. df1 = pd.read_excel(r'd:/demo/orders2.xlsx')
  2. df1
复制代码
我们用此前的方法,读取 orders2.xlsx 到 df1 中,显示结果,我们发现,其结果是 第一个 sheet 即 订单 的内容。如下图所示:

image.png

如何读取指定的 sheet 呢?其实,给出 sheet 的名称即可,代码如下:
  1. df2 = pd.read_excel(r'd:/demo/orders2.xlsx', sheet_name='价格表')
复制代码
截图如下:
image.png

我们除了可以指定 sheet 名称之外,也可以指定 sheet 编号。
但是注意:在 Python 中,sheet 的编号是从 0  开始计数的。即,sheet1 的编号是 0 ,sheet2 的编号是 1 。

下面的例子,读取第三个 sheet , 即供应商表:
  1. df3 = pd.read_excel(r'd:/demo/orders2.xlsx', sheet_name= 2 )
复制代码


截图如下:
image.png




总结一下:

1. 用 Pandas 的 read_excel() 方法读取 Excel 文件时,如果只给出文件名,不指定工作表sheet名,则默认只读 第一个工作表(严格说是第0个),即 sheet1 的内容。
2. 我们可以在 read_excel()方法中,给参数 sheet_name 指定工作表名称,读取指定的工作表。
3. 也可以给参数 sheet_name 指定工作表编号,读取指定工作表。记住编号从0开始。

下一步:
我们可不可以用 Python 实现类似 VLookup 的功能呢?
我们可不可以一次读入多个工作表呢?

请继续后续的学习

最后附上本贴案例的全部代码截图:
image.png

—— HiFrank 我跑,故我在。



<<< 上一讲:
[ Excel-Python ] -3:准备一个写 Python 的环境:Jupyter
http://club.excelhome.net/thread-1587550-1-1.html


下一讲:>>>
[ Excel-Python ] -5:用 Python 实现 Excel 的 VLookup 功能
http://club.excelhome.net/thread-1587767-1-1.html


.

orders2.zip

9.05 KB, 下载次数: 19

评分

6

查看全部评分

TA的精华主题

TA的得分主题

发表于 2021-6-6 22:18 | 显示全部楼层
支持,只不过我是没什么精力再学一个编程语言了。

TA的精华主题

TA的得分主题

 楼主| 发表于 2021-6-6 22:23 | 显示全部楼层
梅州 发表于 2021-6-6 22:18
支持,只不过我是没什么精力再学一个编程语言了。

尽量每天写一点点,希望能做点贡献。

TA的精华主题

TA的得分主题

 楼主| 发表于 2021-6-6 22:27 | 显示全部楼层
梅州 发表于 2021-6-6 22:18
支持,只不过我是没什么精力再学一个编程语言了。

我每天写一点点,您每天跟着操作一点点,试试呗

我每天跑步十公里(不能确保每天,每周差不多4次吧),回来拉伸完以后,在这写半小时。积累啊...分享啊...

.

TA的精华主题

TA的得分主题

发表于 2021-6-6 22:31 | 显示全部楼层
Hi-Frank 发表于 2021-6-6 22:27
我每天写一点点,您每天跟着操作一点点,试试呗

我每天跑步十公里(不能确保每天,每周差不多4次 ...

我只能支持。爱好python的人也很多喲

TA的精华主题

TA的得分主题

发表于 2021-6-6 22:31 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2021-6-7 10:51 | 显示全部楼层
支持你一点点分享,让我也慢慢走进python的世界

TA的精华主题

TA的得分主题

 楼主| 发表于 2021-6-7 11:19 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
xlgw521 发表于 2021-6-7 10:51
支持你一点点分享,让我也慢慢走进python的世界

谢谢
现在在高铁上,再写一贴 vlookup

TA的精华主题

TA的得分主题

发表于 2021-6-8 15:23 | 显示全部楼层
今天的也学完了,没问题。

另外问一下,我能否把在jupyter中写的语句,一次性保存到本地文件中吗? text或word之类的

TA的精华主题

TA的得分主题

发表于 2021-6-8 15:26 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-12-2 20:40 , Processed in 0.058470 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表