You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Pandas在Python中选取Excel特定行与列?

使用Pandas选取Excel特定行和列的正确方法

首先,先把Excel数据完整加载为DataFrame对象,这是后续操作的基础:

import pandas as pd

# 加载指定工作表的全部数据
df = pd.read_excel('this_file.xls', sheet_name="Entrees")

一、选取特定行

1. 按位置索引(从0开始计数)

用iloc按行的位置序号选取,比如取第4行(对应索引3):

# 取单行
specific_row = df.iloc[3]
# 取连续多行,比如第3到第5行(索引2、3、4)
specific_rows = df.iloc[2:5]

2. 按标签索引(自定义索引列)

如果要指定某列作为行索引(比如你尝试的第3列,对应index_col=2),加载时设置索引后,要用loc按标签取行:

# 加载时指定第3列(索引从0开始)为行索引
df = pd.read_excel('this_file.xls', sheet_name="Entrees", index_col=2)
# 按行索引标签取值,替换"目标标签"为实际的索引值
specific_row = df.loc["目标标签"]

你之前用index_col=2后直接写[3]无效,是因为此时[3]会被当成列名查找,而非行索引标签,必须通过loc定位行标签。

二、选取特定列

1. 按列名选取

直接通过列名取值:

# 取单列
specific_col = df["目标列名"]
# 取多列
specific_cols = df[["列名1", "列名2"]]

2. 按位置选取列

用iloc按列的位置序号选取,比如取第2列(索引1):

# : 表示选取所有行,逗号后指定列位置
specific_col = df.iloc[:, 1]

三、同时选取特定行和列

比如取第4行(索引3)的第2列(索引1):

# 按位置定位
target_value = df.iloc[3, 1]
# 按标签定位(行标签+列名)
target_value = df.loc["目标行标签", "目标列名"]

你之前代码失败的原因

  • pd.read_excel()返回的DataFrame直接用[3]时,会尝试查找列名为3的列,而非第4行,所以取不到目标行。
  • 指定index_col=2后,[3]依然是查找列名,而非行索引标签,必须用loc来匹配行标签。

内容的提问来源于stack exchange,提问作者Nocxy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 19:45:49