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

如何用Python从姓名生成指定格式的用户名

用Python将姓名转换为指定格式的用户名

单个姓名处理

如果只是处理单个姓名(比如Roger Smith),可以写一个简单函数实现:

def generate_username(full_name):
    name_parts = full_name.strip().split()
    # 取第一个名字的首字母+最后一个部分作为姓氏,统一转小写
    return f"{name_parts[0][0].lower()}{name_parts[-1].lower()}"

# 测试示例
print(generate_username("Roger Smith"))  # 输出:rsmith
print(generate_username("Roger John Smith"))  # 输出:rsmith

这个函数兼容带中间名的情况,只要姓名是空格分隔的格式,都会取第一个名字的首字母和最后一个部分作为姓氏。

批量处理电子表格数据

如果要处理整份电子表格(比如CSV/Excel文件),可以用pandas库批量生成用户名:

  1. 先安装依赖(如果没装的话):
pip install pandas
# 处理Excel文件还需要安装openpyxl
pip install openpyxl
  1. 批量处理代码示例:
import pandas as pd

# 读取文件(CSV示例,Excel用read_excel)
df = pd.read_csv("your_data.csv")

# 定义生成逻辑,处理空值和格式异常
def generate_username(full_name):
    if pd.isna(full_name) or not str(full_name).strip():
        return None
    name_parts = str(full_name).strip().split()
    if len(name_parts) < 2:
        return None  # 姓名格式不完整时返回空,可根据需求调整
    return f"{name_parts[0][0].lower()}{name_parts[-1].lower()}"

# 生成新的用户名列
df["Username"] = df["Full Name"].apply(generate_username)

# 保存处理后的文件
df.to_csv("data_with_usernames.csv", index=False)
# Excel保存:df.to_excel("data_with_usernames.xlsx", index=False, engine="openpyxl")

注意事项

  • 确保电子表格中的姓名列列名正确(示例中用的是Full Name,根据你的实际列名修改)
  • 如果姓名存在特殊格式(比如带连字符、后缀),可以根据实际情况调整split()的逻辑或者增加额外处理规则

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 21:36:33