Python实现:如何获取CSV文件中人口最多的城市名称
获取CSV文件中人口最多的城市
你当前的代码只收集了所有人口数值,没有关联对应的城市名,所以无法通过最大值找到城市。可以直接在遍历过程中跟踪最大人口和对应城市,修改后的代码如下:
import csv # 使用with语句自动管理文件,无需手动关闭 with open('worldcities.csv', "r", encoding="utf8") as csvfile: csv_reader = csv.reader(csvfile, delimiter=';') next(csv_reader) # 跳过表头行 # 初始化最大人口和对应城市的变量 max_population = -1.0 max_city = "" for row in csv_reader: try: # 从行中提取城市名(第0列)和人口数(第9列) current_city = row[0] current_pop = float(row[9]) # 比较并更新最大值 if current_pop > max_population: max_population = current_pop max_city = current_city except ValueError: # 跳过人口数无法转换为数值的行 continue # 打印结果 print(f"人口最多的城市: {max_city},人口数量: {max_population}")
关键改动说明
- 用
with语句打开文件:自动处理文件的打开和关闭,避免资源泄漏,代码更规范。 - 实时跟踪最大值:不再存储所有人口数据,而是遍历一行就比较一次,节省内存且效率更高。
- 关联城市与人口:每次转换人口数值后,同时记录对应的城市名,确保最大值和城市一一对应。
- 优化异常处理:用
continue直接跳过无效行,逻辑更清晰。
内容的提问来源于stack exchange,提问作者Marvin
相关产品推荐
相关产品推荐

