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

使用Pandas遍历.xlsx文件行时,如何更新单元格并保存修改?

问题原因与解决方法

你的代码确实修改了内存里的df对象,但根本问题是没有把修改后的DataFrame写回Excel文件——Pandas读取文件后是在内存里操作,不会自动同步到磁盘文件。

快速修复:添加文件写入步骤

在代码最后加上to_excel方法,把修改后的数据保存回原文件(或新文件):

import pandas
df = pandas.read_excel('contestants.xlsx', sheet_name=0)
# 移除无效的reset_index(未赋值,这行不生效)
for i, r in df.iterrows():
    login = r['First name'] + r['Last name']
    df.loc[i, 'Login'] = login
    print(df['Login'][i])
# 关键步骤:将修改后的数据写入Excel文件
df.to_excel('contestants.xlsx', index=False)

注意index=False是避免把DataFrame的索引列写入Excel,防止多出一列无用数据。

更高效的写法:用矢量化操作替代循环

iterrows效率极低,尤其是数据量大时,直接用Pandas的矢量化拼接更简洁高效:

import pandas as pd  # 行业习惯用pd作为Pandas别名
df = pd.read_excel('contestants.xlsx', sheet_name=0)
# 直接拼接两列赋值给Login列
df['Login'] = df['First name'] + df['Last name']
# 保存文件
df.to_excel('contestants.xlsx', index=False)

这种写法代码更短,运行速度也快得多。

另外,你原来的df.reset_index(drop=True)没有赋值给df,所以这行代码完全无效,直接删掉即可——reset_index返回新的DataFrame,不会修改原对象。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 01:42:22