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

Python3使用pandas遍历Excel列单元格仅输出首项问题排查

代码错误说明

直接对DataFrame对象做for循环迭代时,pandas默认的迭代对象是DataFrame的列名列表,不是列内存储的单元格值。你的代码里for cell in variable实际每次循环拿到的是列名,所以只会打印出Column这一个列名字符串,完全没有触达列内的行数据,自然无法遍历全部单元格。

可直接运行的修正方案

根据不同使用场景,选对应写法即可:

  • 场景1:只需要遍历目标列的所有单元格值,不需要其他额外信息
import pandas as pd

# 初始化/读取数据的逻辑保持不变
variable = pd.DataFrame(data, columns=['Column'])
# 直接选中目标列对应的Series对象做遍历
for cell_value in variable['Column']:
    print(cell_value)
  • 场景2:遍历单元格时需要同步拿到值对应的行索引
variable = pd.DataFrame(data, columns=['Column'])
# 调用Series的items()方法遍历,返回(索引, 值)元组
for row_index, cell_value in variable['Column'].items():
    print(f"第{row_index}行的单元格值为:{cell_value}")
  • 场景3:遍历过程中需要同时访问同一行其他列的数据
variable = pd.DataFrame(data, columns=['Column'])
# 遍历整行数据,再取目标列的值
for row_index, row_data in variable.iterrows():
    cell_value = row_data['Column']
    print(cell_value)

补充提示:如果目标列存在空值,遍历时会拿到pandas的NaN类型值,可在遍历前用variable['Column'] = variable['Column'].fillna('默认值')做缺失值填充,或者用variable = variable.dropna(subset=['Column'])删除空值行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.01 19:09:52