求助:使用Python筛选CSV中元音结尾的姓名并保存至新CSV
按姓名元音结尾筛选CSV数据并保存
问题说明
你有如下格式的CSV数据:
index, name, id 1 john 512 2 Anne 895 3 Angel 897 4 Lusia 777
需要筛选出姓名以元音(a/e/i/o/u,不区分大小写)结尾的记录,最终保存为新的CSV文件,预期结果:
index, name, id 1 Anne 895 2 Lusia 777
解决方案(Python脚本)
用Python内置的csv模块即可实现,无需额外安装依赖:
import csv # 定义包含大小写的元音集合 vowels = {'a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U'} # 替换为你的原始CSV路径和目标保存路径 input_file = "your_input.csv" output_file = "filtered_output.csv" with open(input_file, 'r', newline='') as infile, open(output_file, 'w', newline='') as outfile: # 根据你的CSV分隔符调整:如果是逗号+空格分隔用下面一行 reader = csv.DictReader(infile, delimiter=',', skipinitialspace=True) # 如果是多个空格分隔,注释上面一行,启用下面一行 # reader = csv.DictReader(infile, delimiter=' ', skipinitialspace=True) writer = csv.DictWriter(outfile, fieldnames=reader.fieldnames) writer.writeheader() # 写入表头 for row in reader: name = row['name'].strip() # 去除姓名前后的多余空格 # 检查姓名非空且最后一个字符是元音 if name and name[-1] in vowels: writer.writerow(row)
使用说明
- 将脚本中的
your_input.csv替换为你的原始CSV文件名,filtered_output.csv替换为你想要保存结果的文件名 - 根据你的CSV实际分隔符选择对应的
reader初始化代码:- 如果列之间是逗号+空格分隔,保留第一行
reader代码 - 如果列之间是多个空格分隔,启用第二行
reader代码
- 如果列之间是逗号+空格分隔,保留第一行
- 运行脚本后,
filtered_output.csv就是你要的筛选结果
内容的提问来源于stack exchange,提问作者Alisher Xurramov
相关产品推荐
相关产品推荐

