📖 知识点
1. 什么是 Excel 数据?
Excel(.xlsx)是办公最常用的表格格式,一个文件里可以有多个工作表(sheet),像一本分章的菜谱。pandas 也能直接读。
💡 生活比喻 Excel 文件像一本 "菜单册",里面有 "早餐页"" 午餐页 ""晚餐页";read_excel 能打开这本册子,指定读某一页。
2. read_excel 读取咒语
import pandas as pd
# 读取Excel文件(默认读第一个工作表)
df = pd.read_excel("食材.xlsx")
print(df)
运行输出:
菜名 价格 数量
0 白菜 3 10
1 番茄 5 20
2 土豆 2 30
3. 常用参数(选页挑表)
| 参数 | 作用 | 例子 |
|---|---|---|
sheet_name | 指定读取哪个工作表 | sheet_name="午餐" |
header | 指定列名所在行 | header=0 |
usecols | 只读指定列 | usecols=["菜名","价格"] |
nrows | 只读前几行 | nrows=100 |
指定工作表读取:
# 读取名为"午餐"的工作表
df = pd.read_excel("食材.xlsx", sheet_name="午餐")
读取多张表(返回字典,key 为表名):
# 读所有工作表,返回{表名: DataFrame}
all_sheets = pd.read_excel("食材.xlsx", sheet_name=None)
💡 理解
- 默认读第一个工作表
sheet_name控制读哪张表;sheet_name=None读全部(返回字典)- 读 Excel 需要环境装有
openpyxl库,没有先pip install openpyxl
⚠️ 易错提醒
- 读 Excel 前确保装了
openpyxl:pip install openpyxlsheet_name写错表名会报错- 只读特定列用
usecols,省内存又干净
⚔️ Kata 实战任务
任务需求:
- 导入 pandas(若需先安装 openpyxl)
- 用
pd.read_excel()读取一个 Excel 文件(如食材.xlsx) - 打印整张表格
- 用
sheet_name读取指定工作表(若文件有多个表) - 用
head()查看前几行
参考代码
import pandas as pd
# 进货第二式:读取Excel文件(默认第一个工作表)
df = pd.read_excel("食材.xlsx")
print("===== 从Excel读入的食材桌 =====")
print(df)
# 查看形状
print("\n表格形状(行, 列):", df.shape)
# 看前2行
print("\n前2行数据:")
print(df.head(2))
# 进阶:读指定工作表(假设有"午餐"这张表)
# df2 = pd.read_excel("食材.xlsx", sheet_name="午餐")
# print(df2)
运行输出:
===== 从Excel读入的食材桌 =====
菜名 价格 数量
0 白菜 3 10
1 番茄 5 20
2 土豆 2 30
表格形状(行, 列): (3, 3)
前2行数据:
菜名 价格 数量
0 白菜 3 10
1 番茄 5 20
💡 提示:请确保同目录下有
食材.xlsx文件;若没有,可用 Excel 或 pandas 先创建一个。
🧠 思考题
- Excel 文件里可能有多个工作表,
read_excel默认读哪个?怎么指定读指定的表? - 读 Excel 报错提示缺
openpyxl,该怎么解决?
行者孙Python