Python读取cities.csv筛选CA州指定列:if条件失效问题
问题解决:筛选CSV中State为CA的指定列内容
问题根源
- 逻辑错误:原代码在循环中先打印所有行,再判断State是否为CA,导致输出所有行+符合条件的行,完全不符合仅筛选CA行的需求;
- 数据格式问题:查看提供的CSV内容,State列的值前带有空格(例如行
41,25,11,N,122,23,23,W,Weed, CA中,State是CA而非CA),直接用row['State'] == "CA"无法匹配。
修正后的代码
import csv with open('cities.csv', 'r') as file: reader = csv.DictReader(file) for row in reader: # 去除State字段前后空白后进行匹配 if row['State'].strip() == "CA": # 仅打印需求指定的列 print(row['LatM'], row['NS'], row['LonM'], row['EW'])
代码说明
- 移除了原代码中全局打印所有行的语句,仅在满足条件时输出;
- 使用
strip()方法清除State字段值的前后空白字符,解决空格导致的匹配失败问题; - 严格按照需求打印
LatM、NS、LonM、EW这四个列的内容。
内容的提问来源于stack exchange,提问作者ABHISHEK
相关产品推荐
相关产品推荐

