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

Pandas匹配两列数据出错 循环输出重复内容且信息错位求助

我的电子表格截图

问题根因

你代码的核心问题是遍历逻辑错误:你单独拆分出了customerName和eta两个Series对象,遍历的时候只循环了eta列的每个日期值,每次拼接字符串时用的是包含所有客户的完整customerName列表,所以每一轮迭代都会输出所有客户的通知,且所有客户的ETA都会被替换成当前迭代的单个日期,最终就会出现“所有客户ETA相同、重复输出大量内容”的问题。

修复代码

import pandas as pd

desired_width = 500

workbook = pd.read_excel('jobs2.xlsx', sheet_name="Sheet1")  # 读取Excel表格

# 配置控制台输出边界
pd.set_option('display.max_columns', 100)
pd.set_option('display.max_rows', 100)
pd.set_option('display.expand_frame_repr', False)
pd.set_option('max_colwidth', -1)

# 当任务超过两周时的预设日期值
twoWeeksOuts = "25,8,2021"

# 逐行遍历数据,取当前行对应的客户姓名和ETA
for index, row in workbook.iterrows():
    customer_name = row["Customer Name"]
    eta = row["ETA"]
    # 如需保留原英文输出,可替换为对应英文语句
    print(f"主动联系任务:已致电 {customer_name},告知产品预计送达时间为 {eta.strftime('%Y年%m月%d日')},目前进度正常。我们已告知独立服务商将在产品可安装前两个工作日内与对方联系。")

修改说明

  • 放弃单独拆分两列遍历的逻辑,改用iterrows()逐行读取DataFrame内容,保证每一行的客户姓名和ETA一一对应
  • 每次循环仅取当前行的两个字段值,不会出现全量客户重复输出的问题
  • 改用f-string做字符串格式化,可读性更高,也能避免不同类型数据拼接时报错
  • 若数据量超过1万条,可将遍历逻辑替换为itertuples()提升运行效率

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 22:54:03