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

Python使用Pandas读取Excel指定列后如何逐行遍历存入字典

实现方案

你现有代码先修正两个容易报错的细节:

  1. Python大小写敏感,你定义的Workbook变量和后续调用的workBook名称不一致,会触发变量不存在的报错,建议统一命名。
  2. 提取单列数据不需要额外嵌套pd.DataFrame(),直接用方括号按列名取值即可。

修正后的基础代码:

import pandas as pd

workbook_path = "你的Excel文件实际存储路径"
eRead = pd.read_excel(workbook_path, sheet_name='Sheet1')
# 提取IP列,得到可直接遍历的Series对象
eIP = eRead['IP']

单列遍历实现(适配你当前只取IP列的场景)

直接调用列对象的items()方法遍历,每轮循环可以拿到行索引和对应的IP值,直接组装字典传入你的备份函数即可:

for row_index, ip_value in eIP.items():
    # 组装传入函数的参数字典
    backup_param = {
        "target_ip": ip_value
        # 后续如果要加其他参数直接在字典里追加键值对即可
    }
    # 调用你自己写的备份函数
    your_backup_function(backup_param)

多列遍历实现(适配后续需要读取多字段的场景)

如果后续你需要同时读取IP、账号、备份路径等多列信息,直接用iterrows()逐行遍历原DataFrame即可,不需要单独提取列:

for row_index, row_data in eRead.iterrows():
    # 按列名提取当前行对应的值
    current_ip = row_data['IP']
    # 示例:如果Excel里还有username、backup_dir列,直接按列名取值即可
    # current_user = row_data['username']
    # current_backup_dir = row_data['backup_dir']
    
    # 组装参数字典
    backup_param = {
        "target_ip": current_ip,
        # "username": current_user,
        # "backup_dir": current_backup_dir
    }
    # 传入备份函数执行
    your_backup_function(backup_param)

初学者注意事项

  • 不要用for i in range(len(eIP))搭配eIP.iloc[i]的写法遍历,这种写法执行效率低,用Pandas自带的迭代方法写法更简洁规范。
  • 如果循环内组装的字典是单条数据专属,建议在循环内部初始化字典,避免上一轮循环的残留值污染下一轮的参数。
  • 执行print(eIP)能正常输出数据说明Excel读取逻辑是正常的,遍历逻辑直接套上面的模板即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 06:33:21