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

如何向CSV存储的DataFrame追加单值并实现左索引右值结构

完整修改后代码

import pandas as pd
import os

user_name = "Tal"
number_of_used_guesses = 2
path = "/users/me/folder_name/"
# 拼接完整的文件存储路径,避免文件存错位置
filename = os.path.join(path, f"{user_name}.csv")

if os.path.exists(filename):
    # 读取现有文件获取已有最大索引,保证新索引连续
    existing_df = pd.read_csv(filename, index_col=0)
    new_index = existing_df.index.max() + 1 if len(existing_df) > 0 else 0
    # 构造单条数据的DataFrame,指定列名和新索引
    new_df = pd.DataFrame(
        {"used_guesses": [number_of_used_guesses]},
        index=[new_index]
    )
    # 追加模式写入,保留索引,不重复写入表头
    new_df.to_csv(filename, mode='a', index=True, header=False)
else:
    # 首次创建文件,索引从0开始,写入表头
    new_df = pd.DataFrame(
        {"used_guesses": [number_of_used_guesses]},
        index=[0]
    )
    new_df.to_csv(filename, mode='w', index=True, header=True)

核心修改点

  • 修复DataFrame构造逻辑:将单个数值封装为列表并指定列名,解决标量无法生成DataFrame、列错位的问题
  • 调整索引生成规则:文件存在时先读取已有数据的最大索引,新行索引自动+1,实现全局连续不重复的索引
  • 修改to_csv参数:将index=False改为index=True,输出左列索引
  • 优化路径拼接:用os.path.join拼接路径与文件名,避免路径格式错误
  • 控制表头写入逻辑:仅首次创建文件时写入表头,追加时跳过,避免表头穿插在数据中

输出CSV效果

最终生成的CSV格式如下,左列为全局自增索引,右列为对应数值:

,used_guesses
0,2
1,3
2,7

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 01:51:02