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

如何不使用pandas过滤CSV文件指定列内以"A"开头的元素?

问题原因

原代码的判断逻辑if "A" in row["Composer"]是筛选所有作曲家名称中包含字母A的条目,而非以A开头的条目,因此无法得到预期结果。

修正后代码(无需引入pandas)

import csv
list_a = []

with open('bl_printed_music_500.csv', newline = '', encoding = 'utf-8-sig') as csvfile:
    reader = csv.DictReader(csvfile)
    
    for row in reader:
        # 先去除首尾空白字符,避免名称开头带空格导致判断失效
        composer_name = row["Composer"].strip()
        # 使用startswith方法判断是否以字母A开头
        if composer_name.startswith("A"):
            list_a.append(row["Composer"]) 

print(list_a)

可选优化说明

  • 如需同时匹配小写字母a开头的条目,可将判断条件修改为composer_name.lower().startswith("a")
  • 若确认CSV中Composer列不存在开头空白字符,可直接省略strip()步骤,直接写if row["Composer"].startswith("A")即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 19:36:04