如何在Pandas追加数据时避免CSV表头重复出现
解决CSV追加时重复写入表头的问题
你当前代码每次追加数据都强制写入表头,导致重复出现。要实现仅首次运行写入表头,后续只追加数据,只需通过判断文件是否存在来动态控制header参数即可。
修正后的代码
import pandas as pd import os # 替换成你获取用户输入的逻辑 playersNames = ["x"] Age = [15] number = 73 # 构造数据字典(补全之前缺失的闭合大括号) data = { 'Player Name': [playersNames[0]], 'Age': [Age[0]], 'Number': [number] } df = pd.DataFrame(data) # 判断文件是否存在,决定是否写入表头 file_exists = os.path.exists("Info.csv") df.to_csv("Info.csv", mode='a', index=False, header=not file_exists) print(df)
逻辑说明
- 用
os.path.exists("Info.csv")检查目标文件状态:- 首次运行时文件不存在,
file_exists为False,header=not file_exists等价于header=True,会写入硬编码的表头 - 后续运行时文件已存在,
file_exists为True,header=not file_exists等价于header=False,仅追加数据行,不再重复表头
- 首次运行时文件不存在,
效果验证
首次运行生成的CSV内容:
Player Name,Age,Number x,15,73
后续追加新数据(比如y,25,70)后,CSV内容:
Player Name,Age,Number x,15,73 y,25,70
内容的提问来源于stack exchange,提问作者Naga Nir
相关产品推荐
相关产品推荐

