该函数返回单个州和人口,但我需要返回一列中的所有人口,但跳过前 6 行
def findpop(state=None):
f = open(getMediaPath("population_state_reduced (2).csv"), "rt")
index = 1
for line in f:
if index > 3:
parts = line.split(',')
if state is None:
return [(parts[4], int(parts[5]))]
else:
for line in f:
if parts[4] == state.capitalize():
return int(parts[5])
index += 1
print findpop()
最佳答案
如果我理解你正确的话,这正是你想要的:
import csv
def findpop(state=None):
res = []
with open(getMediaPath("population_state_reduced (2).csv")) as f:
reader = csv.reader(f)
for i, line in enumerate(reader):
if i > 5: # skip first 6 rows
if state is None:
res.append((line[4], int(line[5])))
else:
if line[4] == state.capitalize():
return int(line[5])
return res
关于python - 更改函数以返回整列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40624255/