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

Pandas向已有DataFrame逐列赋值添加行未生效问题咨询

问题原因与修复方案

核心错误点

  • 读取的初始DataFrame为空(行数为0),直接对df[列名]赋值标量只会修改已存在的行,空DataFrame没有可修改的行,赋值操作不会自动新增行,执行完循环后DataFrame还是空的。
  • 整个逻辑执行完没有调用to_csv方法将修改后的DataFrame写回test.csv文件,原文件自然不会有变化。
  • 使用list作为变量名会覆盖Python内置的list类型,属于不规范的变量命名,可能引发后续异常。

修复后的代码

import pandas as pd

col_list = ['col1', 'col2', 'col3']
turn = 2
df = pd.read_csv('test.csv', sep='|')
while turn:
    # 先新增空行,再逐列赋值
    df.loc[len(df)] = None
    for each in col_list:
        df.loc[len(df)-1, each] = turn
    turn -= 1
# 将修改后的内容写回CSV文件
df.to_csv('test.csv', sep='|', index=False)

如果你不需要强制逐列赋值,也可以简化新增行的逻辑:

while turn:
    df.loc[len(df)] = [turn] * len(col_list)
    turn -= 1

执行后test.csv的内容就会符合你的预期。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 19:06:01