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

使用Python提取CSV带行号重复数据的pandas代码问题排查

问题原因
  • CSV文件没有自定义表头,pd.read_csv默认将文件第一行识别为列名,导致第一条数据被误判为列名,最终出现该条目反复出现在结果顶部的问题。
  • pandas读取文件时自动生成的索引是从0开始的序列,和你需要的原始文件实际行号不匹配,导致导出的行号不符合预期。
  • 你的CSV实际为单字段存储内容的格式,默认按逗号分隔的读取规则也可能引发内容识别异常。
修复方案

调整读取和导出的参数即可,修复后代码如下:

import pandas as pd

# 指定无表头读取,避免第一行数据被识别为列名
df = pd.read_csv('sample_dup.csv', header=None, names=['content'])
# 新增原始文件行号列,从1开始计数匹配实际行号
df['original_line_num'] = df.index + 1
# 筛选所有重复条目
dup_df = df[df.duplicated(subset='content', keep=False)]
# 导出时取消pandas默认索引,仅保留自定义的行号和内容
dup_df.to_csv('dups.csv', index=False, encoding='utf-8-sig')

如果需要将内容拆分姓名和编号两个字段,可以额外增加拆分逻辑:

# 按多空格拆分内容为两列
df[['name', 'number']] = df['content'].str.split('\s+', expand=True)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 02:54:01