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

如何使用Pandas提取Excel工作表中的特定单元格值

问题:提取Excel特定单元格值并按指定格式输出

我正在编写以下代码,想要提取如高亮框所示的特定单元格值(黄色单元格对应值为Summer,红色单元格对应值为12,10,8)。现有代码如下:

import pandas as pd
import numpy as np
file_xlsx = "Book1.xlsx"
yellow_cell = pd.read_excel(file_xlsx , sheet_name='Temp', usecols= 'Season')
red_cell = pd.read_excel(file_xlsx , sheet_name='Temp', usecols= 'Ave')

希望执行以下打印语句:

print(yellow_cell)
print(red_cell)

能得到如下结果:

Summer
12,10,8

请问该如何修改代码实现需求?


解决方案

当前代码用usecols读取的是整列数据,返回的是DataFrame对象,无法直接输出目标格式的结果,需调整如下:

  1. 先读取整个工作表,再定位目标单元格/值;
  2. 针对黄色单元格的Summer,提取对应位置的单个值;
  3. 针对红色单元格的三个数值,将其拼接为逗号分隔的字符串。

修改后的代码:

import pandas as pd

file_xlsx = "Book1.xlsx"
# 读取目标工作表的全部数据
df = pd.read_excel(file_xlsx, sheet_name='Temp')

# 提取黄色单元格的Summer(假设为Season列的第1行,pandas索引从0开始,根据实际位置调整)
yellow_cell = df['Season'].iloc[0]

# 提取红色单元格的12,10,8(假设为Ave列的前3行,根据实际位置调整切片范围)
red_target_values = df['Ave'].iloc[:3].astype(str).tolist()
red_cell = ','.join(red_target_values)

# 输出结果
print(yellow_cell)
print(red_cell)

注意事项

  • 需根据Excel中实际的单元格位置调整.iloc的索引值,比如若Summer在Excel的第3行(对应pandas索引2),则改为df['Season'].iloc[2];
  • 若Ave列的目标值不是连续的前3行,可通过条件筛选定位,比如df[df['Ave'].isin([12,10,8])]['Ave']再进行拼接。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 01:00:58