删除Pandas DataFrame行后CSV文件新增未知列问题求助
问题解决:Pandas删除CSV行后新增Unknown列
问题原因
你遇到的问题根源是Pandas默认会把DataFrame的索引写入CSV文件。第一次执行to_csv时,原数据无索引列,Pandas会自动添加一列默认索引(0、1、2...);第二次读取该CSV时,这列索引会被识别为普通数据列(列名可能显示为Unnamed: 0),再次执行to_csv又会新增一列新索引,重复操作就会累积出Unknown 0.x这类列。
解决方案
修改你的delete_row函数,在保存CSV时关闭索引写入即可:
def delete_row(path, file_type, row): if file_type == 'csv': df = pd.read_csv(path) df.drop(row, inplace=True) df.to_csv(path, index=False) # 添加index=False参数,禁止写入索引列
如果你的CSV原本就有自定义索引列,读取时可以指定index_col参数,避免索引被当成普通数据列:
df = pd.read_csv(path, index_col=0) # 假设第一列是自定义索引列
内容的提问来源于stack exchange,提问作者DaSomes
相关产品推荐
相关产品推荐

