用Pandas轻松搞定Excel数据提取:新手也能学会的Python技巧

用Pandas轻松搞定Excel数据提取:新手也能学会的Python技巧

大家好!今天我要分享一个超级实用的Python技巧------如何用pandas库从Excel文件中提取我们需要的数据列。这个技能在工作中特别有用,比如处理学生成绩表、客户名单等Excel数据时,可以快速获取关键信息。

准备工作:安装必要的库

首先,我们需要确保电脑上安装了pandas库。如果你还没安装,只需要在命令行输入:

bash 复制代码
pip install pandas openpyxl

这里openpyxl是用来处理Excel文件的依赖库。

代码解析:一行一行来看

让我们仔细看看图片中的代码,我会用最通俗的方式解释每一行的作用:

python 复制代码
# 导入pandas库
import pandas as pd

这行代码就像是在对Python说:"嘿,我要用pandas这个工具包了,给我准备好!"pandas是Python中处理表格数据的利器。

python 复制代码
# 紧凑显示
pd.set_option('display.max_rows', 10)

这行代码设置了显示选项,意思是"当数据太多时,最多只显示10行,其他的用省略号表示"。这样我们的输出就不会在控制台刷屏了,看起来更清爽。

python 复制代码
# 读文件数据
df = pd.read_excel('ClassScore.xls', index_col='学号')

这是最关键的一步: • pd.read_excel是读取Excel文件的函数 • 'ClassScore.xls'是我们的文件名 • index_col='学号'表示把"学号"这一列作为每行的标识(索引)

想象一下,这就像是在Excel中把"学号"列设置为了第一列,方便我们查找。

python 复制代码
name = df['姓名']

这行代码从数据中提取了"姓名"这一列,相当于在Excel中选中了整个姓名列。

python 复制代码
# 输出姓名列
print(name)

最后,我们把姓名列打印出来,就能看到整洁的学生名单了!

实际效果

运行这段代码后,你会看到类似这样的输出:

yaml 复制代码
学号
2301    张三
2302    李四
2303    王五
...
2418    赵六
Name: 姓名, dtype: object

中间的"..."表示省略了一些行,这正是我们设置的紧凑显示效果。

常见问题解答

Q:为什么我的代码报错了? A:可能的原因有:

  1. 文件不在当前目录下(解决方法:使用完整文件路径)
  2. 文件名拼写错误(检查大小写和扩展名)
  3. 列名不匹配(确认Excel中确实有"学号"和"姓名"列)

Q:如何显示更多/更少的行? A:修改display.max_rows的值即可,比如设为5就是只显示5行。

Q:能不能同时显示多列? A:当然可以!比如要显示学号和姓名:

python 复制代码
print(df[['学号', '姓名']])

小技巧分享

  1. 在Jupyter Notebook中运行这段代码,效果更直观
  2. 可以用df.head()快速查看前几行数据
  3. 添加encoding='utf-8'参数可以避免中文乱码问题

总结

通过这个简单的例子,我们学会了:

  1. 用pandas读取Excel文件
  2. 设置紧凑显示
  3. 提取特定列数据
  4. 输出整理后的结果

这个技能就像是一个数据处理的"瑞士军刀",简单但超级实用。掌握了它,你就能快速从各种表格中提取需要的信息,再也不用手动复制粘贴了!

如果你觉得这篇教程有帮助,欢迎点赞收藏。下次我会分享更多pandas的实用技巧,比如数据清洗、统计分析等进阶内容。有什么问题也可以在评论区留言哦!

相关推荐
zerozrc09 分钟前
Java 方法调用的底层原理
java·后端
睡觉时不困44215 分钟前
9.命令行通用规律:所有命令的底层语法
后端
Maxkim22 分钟前
把智能体塞进浏览器侧边栏:我在 MV3 里踩的 5 个坑
前端·后端
XuCoder24 分钟前
面试官:MySQL 索引是什么?这道题答全的人真不多
后端
特立独行的猫a25 分钟前
我用 Rust + Tauri 2 复刻了 N_m3u8DL-CLI:一个 m3u8 多线程下载器
开发语言·后端·rust·m3u8·视频下载器·m3u8dl-cli
月光有害26 分钟前
理解 Spring 依赖注入:从构造器注入到集合与条件 Bean
java·后端·spring
对象存储与RustFS28 分钟前
大文件传到 48 GiB 就断:S3 分片上传的参数怎么算,以及那些没人清的残片
后端·rust·开源
foggyprojects30 分钟前
客户说“销售额”,系统怎样落到订单含税金额或开票含税销售额?
后端
念何架构之路1 小时前
路由注册:RouterGroup(routergroup.go)
开发语言·后端·golang
小当家.1051 小时前
LLM服务缓存与连接池管理:三层缓存架构与ChatClient池化
java·后端·spring·缓存·llm·agent