如何用Python打印CSV文件指定字段?代码无输出求协助
解决Python打印CSV所有姓名的问题
你的代码现在输出空白,核心问题是逻辑走偏啦——你在找**整行完全等于['NAME']**的行,但实际上['NAME']应该是表头里的其中一列,不是整行内容,而且你要打印的是表头下面的所有姓名行,不是表头本身。
给你两种靠谱的解决方案,按需选择:
方案1:用DictReader(推荐,更灵活)
这个方法会自动把CSV的第一行当作表头,每一行都转换成字典,直接通过表头名称取对应的值,不用操心列的位置:
import csv with open('doc.csv','r') as f: # 用DictReader读取,自动识别表头 reader = csv.DictReader(f) for row in reader: # 直接通过表头键'NAME'获取姓名,注意大小写要和CSV里的表头完全一致 print(row['NAME'])
方案2:用普通csv.reader(适合确定列位置的情况)
如果你明确知道姓名在第几列(比如第一列,索引是0),可以先跳过表头行,再遍历取对应列的内容:
import csv with open('doc.csv','r') as f: reader = csv.reader(f) # 跳过第一行的表头 next(reader) for row in reader: # 假设姓名在第1列(索引0),如果是其他列就修改索引值 print(row[0])
额外注意点:
- 确认CSV里的表头确实是
NAME(大小写敏感!如果是name或者Name,代码里也要对应修改) - 如果你的CSV不是用逗号分隔的(比如制表符、分号),要在读取的时候指定分隔符,比如:
csv.DictReader(f, delimiter='\t')
内容的提问来源于stack exchange,提问作者vaman madhavan
相关产品推荐
相关产品推荐

