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

如何用Pandas将CSV文件首列改为从1开始的序列?

替换CSV首列为从1开始的递增序列

下面提供几种不同工具的解决方案,按需选择:

方法1:Python脚本(通用跨平台)

适合需要批量处理或自动化的场景,代码如下:

import csv

# 输入输出文件路径
input_file = "your_input.csv"
output_file = "your_output.csv"

with open(input_file, 'r', newline='') as infile, open(output_file, 'w', newline='') as outfile:
    reader = csv.reader(infile)
    writer = csv.writer(outfile)
    
    # 处理表头(如果有表头)
    header = next(reader)
    header[0] = "index"  # 可选:修改表头首列名称,不需要可删除此行
    writer.writerow(header)
    
    # 处理数据行,行号从1开始
    row_num = 1
    for row in reader:
        row[0] = str(row_num)
        writer.writerow(row)
        row_num += 1
  • 提示:如果CSV没有表头,删除处理表头的代码块,直接从row_num = 1开始循环即可。

方法2:Excel(可视化操作)

适合不熟悉编程的用户:

  1. 用Excel打开目标CSV文件
  2. 选中首列的第一个数据单元格(若有表头,选择表头下方的第一个单元格),输入1
  3. 选中下一个单元格,输入2
  4. 同时选中这两个单元格,鼠标移到单元格右下角的填充柄(小方块)上,按住左键下拉到最后一行,Excel会自动填充递增序列
  5. 覆盖原首列内容后,保存文件即可

方法3:awk命令行(Linux/macOS/WSL)

适合终端用户,一行命令搞定:

awk -F',' -v OFS=',' '{print NR, substr($0, index($0, FS)+1)}' your_input.csv > your_output.csv
  • 解释:NR是awk内置变量,代表当前行号(从1开始);substr($0, index($0, FS)+1)截取原行中第一个分隔符之后的所有内容,和行号拼接后输出,自动替换原首列。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 12:15:40