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

如何为Python脚本输出的维基媒体贡献者名称添加序号?

为维基媒体贡献者名称添加序号的Python实现

嘿,这个需求其实很容易搞定,我给你分享几种实用的实现方式,都是Python里很常用的方法:

方法一:直接循环输出(或处理)

首先假设你已经得到了去重后的名称列表:

unique_names = ["velu", "ramu", "ஆதि"]

用enumerate()函数就能轻松给每个元素加上从1开始的序号,它会同时返回元素的索引(我们设置起始值为1)和对应的名称:

for index, name in enumerate(unique_names, start=1):
    print(f"{index}.{name}")

运行这段代码就会输出:

1.velu
2.ramu
3.ஆதि

方法二:生成带序号的新列表

如果需要把这些带序号的名称保存成一个新列表(方便后续写入CSV或其他操作),可以用列表推导式:

unique_names = ["velu", "ramu", "ஆதि"]
numbered_names = [f"{idx}.{name}" for idx, name in enumerate(unique_names, start=1)]

此时numbered_names的值就是['1.velu', '2.ramu', '3.ஆதि'],直接用这个列表去写入CSV就可以了。

方法三:直接写入CSV文件

如果要把最终结果直接写入CSV,结合你的原有脚本,完整的代码可以这样写:

import csv

# 假设这是你去重后得到的名称列表
unique_names = ["velu", "ramu", "ஆதि"]

# 生成带序号的名称列表
numbered_names = [f"{idx}.{name}" for idx, name in enumerate(unique_names, start=1)]

# 写入CSV,注意指定utf-8编码避免 Tamil 字符乱码
with open("numbered_contributors.csv", "w", newline="", encoding="utf-8") as csv_file:
    writer = csv.writer(csv_file)
    # 可选:写入表头
    writer.writerow(["序号及贡献者名称"])
    # 逐行写入带序号的名称
    for item in numbered_names:
        writer.writerow([item])

小提示

enumerate()的start参数默认是0,所以我们设置start=1就能让序号从1开始,完全符合你要的格式~

内容的提问来源于stack exchange,提问作者info-farmer

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 04:12:44