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

如何为CSV文件每99行添加递增的唯一前缀字符串?

CSV分组添加递增前缀的解决方案

核心需求

  • 每99行数据(跳过表头)分配一个递增前缀,起始值从10000开始,每满99行前缀+1
  • 格式化Name字段:移除空格后拼接前缀(格式:前缀-无空格姓名)
  • 格式化Number字段:移除括号()和横杠-,保留纯数字
  • 复用原有CSV导入导出逻辑

Python实现脚本

import csv

# 配置参数
INPUT_FILE = "import.csv"
OUTPUT_FILE = "desired_output.csv"
START_PREFIX = 10000
ROWS_PER_GROUP = 99

with open(INPUT_FILE, mode='r', newline='', encoding='utf-8') as infile, \
     open(OUTPUT_FILE, mode='w', newline='', encoding='utf-8') as outfile:
    
    reader = csv.DictReader(infile)
    writer = csv.DictWriter(outfile, fieldnames=reader.fieldnames)
    
    # 写入表头
    writer.writeheader()
    
    current_prefix = START_PREFIX
    row_count = 0  # 计数当前组内的行数(跳过表头)
    
    for row in reader:
        # 处理Name字段:去掉空格 + 拼接前缀
        cleaned_name = row['Name'].replace(" ", "")
        row['Name'] = f"{current_prefix}-{cleaned_name}"
        
        # 处理Number字段:移除括号和横杠
        cleaned_number = row['Number'].replace("(", "").replace(")", "").replace("-", "")
        row['Number'] = cleaned_number
        
        writer.writerow(row)
        
        row_count += 1
        # 每满99行,前缀递增,重置计数
        if row_count % ROWS_PER_GROUP == 0:
            current_prefix += 1
            row_count = 0

效果验证

输入import.csv示例:

Name,Number
John Smith,(555)123-4567
Jane Smith,(555)123-4567
...
Jeremy Smith,(555)123-4567

输出desired_output.csv示例:

Name,Number
10000-JohnSmith,5551234567
10000-JaneSmith,5551234567
...
10001-JeremySmith,5551234567

说明

  • 脚本通过row_count跟踪当前组内的行数,每达到99行就自动递增前缀
  • 字段格式化逻辑直接嵌入循环,不影响原有CSV读写的核心流程
  • 可通过修改START_PREFIX和ROWS_PER_GROUP参数调整起始前缀和分组大小

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 22:54:55