“for”循环中的python语法无效

2024-09-29 06:35:11 发布

您现在位置:Python中文网/ 问答频道 /正文

def citypop():
  import csv                                  
  F = open("Top5000Population.txt")           
  csvF = csv.reader(F)
  D = {}
  with csvF for row in csvF:
      city,state,population = row[0],row[1],row[2] 
      population = population.replace(',','') 
      population = int(population)
      city = city.upper()[:12]
      D[(city, state)] = population
  return D

函数citypop()返回一个dict,其中(city,state)为键,该城市的人口(处于该状态)为值。在

我一直收到一个语法错误。。我没有正确理解csv模块吗?在

编辑:谢谢你们的帮助…这应该行得通,但现在突然我得到了错误

^{pr2}$

当我运行测试用例时。。。。有什么建议吗?在


Tags: csvimporttxtcityfordefwithopen
2条回答

当您试图使用with语句时,您的意思是这样的-在这种情况下,文件将在其下留下代码后立即关闭:

from csv import reader

def citypop():
  D = {}
  with open("Top5000Population.txt") as F:
    for city, state, population in reader(F):
      city = city.upper()[:12]
      D[(city, state)] = int(population.replace(',',''))
  return D

或者:

^{pr2}$

我想你误解了Python的^{} statement。生产线6:

for row in csvF:

应该能解决问题。在

作为参考,with语句本质上与C中的using语句相同;它声明了完成后需要卸载或释放的资源范围。在

相关问题 更多 >