如何用Python将CSV中的学生ID转换为指定格式邮箱地址
解决方法:将Student ID转换为指定格式邮箱并保存
直接用以下代码即可完成需求,关键细节我会逐行解释:
import pandas as pd # 读取CSV文件,强制将Student ID列按字符串类型读取,保留前导零 dataframe = pd.read_csv("/content/Student IDs.csv", dtype={"Student ID": str}) # 添加新列"Email",生成要求的邮箱格式 dataframe["Email"] = "u" + dataframe["Student ID"] + "@live.university.ac.uk" # 将处理后的数据保存为新CSV文件,不包含自动生成的行索引 dataframe.to_csv("/content/Student Emails.csv", index=False) # 打印结果确认 print(dataframe)
关键步骤说明
- 保留前导零:读取CSV时添加
dtype={"Student ID": str}参数,因为你的部分ID带有前导零(比如012345678),如果不加这个,pandas会把ID识别为整数,导致前导零丢失,最终邮箱格式错误。 - 生成邮箱列:利用pandas的向量式操作,直接通过字符串拼接生成每一行的邮箱地址,无需手动循环遍历每一行,简洁高效。
- 干净保存文件:
to_csv时加上index=False,避免把pandas默认的行索引写入输出文件,保证输出的CSV只有Student ID和Email两列。
处理后的数据示例
运行代码后,你的DataFrame会变成如下格式:
| Student ID | |
|---|---|
| 123456789 | u123456789@live.university.ac.uk |
| 012345678 | u012345678@live.university.ac.uk |
| 901234567 | u901234567@live.university.ac.uk |
| 890123456 | u890123456@live.university.ac.uk |
内容的提问来源于stack exchange,提问作者mrt1403
相关产品推荐
相关产品推荐

