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

如何用Python为CSV每行第2至23列添加列序号后缀

解决方法

嘿,这个需求很容易实现,我们只需要在读取每行数据的时候,对索引1到22的元素附加对应的索引值作为后缀就可以了。这里给你修改后的完整代码:

import csv

datas = []
with open('C:/Users/xxx/Desktop/input/mushrooms.csv', 'r') as csvfile:
    spamreader = csv.reader(csvfile)
    for row in spamreader:
        # 保留第一个元素,对后面的元素添加索引后缀(从1开始计数)
        processed_row = [row[0]] + [f"{element}{index}" for index, element in enumerate(row[1:], start=1)]
        datas.append(processed_row)

# 打印处理后的第一行验证效果
print(datas[0])

代码细节解释:

  • enumerate(row[1:], start=1):从原行的第二个元素(索引1)开始遍历,同时让枚举的索引从1起步,这样刚好匹配你需要的后缀数字(比如第一个要修改的元素对应后缀1,第二个对应2,直到第22个元素对应后缀22)。
  • f"{element}{index}":用Python的f-string语法快速把元素和对应索引拼接,完成后缀添加。
  • 最后将处理好的行存入datas列表,就得到了你想要的嵌套列表结构。

测试后,原第一行:

['p', 'x', 's', 'n', 't', 'p', 'f', 'c', 'n', 'k', 'e', 'e', 's', 's', 'w', 'w', 'p', 'w', 'o', 'p', 'k', 's', 'u']

会变成:

['p', 'x1', 's2', 'n3', 't4', 'p5', 'f6', 'c7', 'n8', 'k9', 'e10', 'e11', 's12', 's13', 'w14', 'w15', 'p16', 'w17', 'o18', 'p19', 'k20', 's21', 'u22']

完全符合你的需求哦~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 09:28:15